基于与另一个表相关的某些条件更新一个表(MySQL)

基于与另一个表相关的某些条件更新一个表(MySQL),mysql,database,datatables,Mysql,Database,Datatables,问题是: “将德里至孟买航班的航空公司票价提高10%。” 我知道一种方法是自己检查相应的航班号,并在查询中使用该航班号,但我希望查询只针对表中给定的列。我尝试了以下两种方法,但均失败: 1) 更新票价设置票价=1.1*航班所在地的票价。start='德里'和flights.end='孟买' 2) 更新票价设置票价=1.1*票价,其中(航班自然加入票价)。起点为“德里”和(航班自然加入票价)。终点为“孟买” 请帮忙 flights表包含flight no、start、end、NoofLights和

问题是: “将德里至孟买航班的航空公司票价提高10%。”

我知道一种方法是自己检查相应的航班号,并在查询中使用该航班号,但我希望查询只针对表中给定的列。我尝试了以下两种方法,但均失败: 1) 更新票价设置票价=1.1*航班所在地的票价。start='德里'和flights.end='孟买'

2) 更新票价设置票价=1.1*票价,其中(航班自然加入票价)。起点为“德里”和(航班自然加入票价)。终点为“孟买”

请帮忙

flights表包含flight no、start、end、NoofLights和noofstops列


票价表包含航班号、票价、航空公司、税率

不确定这是否是您想要的:

Update fares fs
LEFT JOIN flight f on f.flightno = fs.flightno
SET fare = 1.1 * fare
WHERE f.start='Delhi' and f.end='Mumbai';

下面的SQL可能会帮助您进行ref

UPDATE FLIGHT FL INNER JOIN FARES FR 
ON FL.flightno = FR.flightno SET FR.fare = (1.1 * FR.FR) 
WHERE FL.start = 'Delhi' AND FL.end = 'Mumbai' ;

什么不起作用?它给了我一个错误(我自己看不到语法错误)它说未知列。开始为什么使用左连接?我的错误,不需要左连接,可以使用内部连接。