2014-12-06 64 views
0

我試圖運行下面的查詢:MySQL錯誤:未知的表格`airports`

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部分,則會在AS附近收到錯誤1064:語法錯誤。

編輯:數據庫名稱是aalv_test,最後的。*指定使用表中的所有字段,中間部分是表名,是的,我鏈接字段。

+0

你似乎有airports'後'一段時間。刪除字段名稱後的句號。 – Sablefoste 2014-12-06 04:36:19

+1

現在,你似乎在鏈接領域。你不能有'aalv_test.aircraft。*'。您需要將其更改爲'aalv_test。*'或'aalv_test.aircraft'。 – Sablefoste 2014-12-06 04:38:45

+0

那麼我該如何獲得表格的所有字段?我必須單獨列出每一個嗎? – 2014-12-06 04:39:51

回答

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; 
+0

優秀!美麗!非常感謝! – 2014-12-06 04:46:44