MYSQL错误:未知表`机场`

时间:2014-12-06 04:33:55

标签: mysql sql select join mysql-error-1064

我正在尝试运行以下查询:

SELECT `aalv_test`.`aircraft`.*, `aalv_test`.`airports`.*, `aalv_test`.`bids`.* 
FROM `bids` 
LEFT JOIN `aalv_test`.`pilots` ON `bids`.`pid` = `pilots`.`id` 
LEFT JOIN `aalv_test`.`schedules` ON `bids`.`fid` = `schedules`.`id`
LEFT JOIN `aalv_test`.`aircraft` ON `schedules`.`aircraft` = `aircraft`.`id` 
LEFT JOIN `aalv_test`.`airports` AS `arr` ON `schedules`.`arricao` = `arr`.`icao`
LEFT JOIN `aalv_test`.`airports` AS `dep` ON `schedules`.`depicao` = `dep`.`icao` 
WHERE `pilots`.`id` = 419

然而, MYSQL返回错误#1051 - 表airports不存在。 我不知道问题是什么,谷歌没有帮助。有任何想法吗?此外,如果我只使用一个别名,我只有一个机场,但我需要两个。并且数据仅在表airports中,根据此查询,该表不存在。此外,如果我尝试在SELECT子句中抛出AS部分,我会收到错误1064:AS附近的语法错误。

编辑:数据库名称为aalv_test,最后的。*指定使用表中的所有字段,中间部分是表名,是的我链接字段。

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT a.*, arr.*, dep.*, b.* 
FROM bids AS b 
LEFT JOIN aalv_test.pilots AS p ON b.pid = p.id 
LEFT JOIN aalv_test.schedules AS s ON b.fid = s.id
LEFT JOIN aalv_test.aircraft AS a ON s.aircraft = a.id 
LEFT JOIN aalv_test.airports AS arr ON s.arricao = arr.icao
LEFT JOIN aalv_test.airports AS dep ON s.depicao = dep.icao 
WHERE p.id = 419;