2016-07-28 46 views
-1

我有一個帶'to'位置和'from'位置的旅行表。這些位置用3個字母縮寫。我想添加信息到我的查詢中的這個表,通過添加關於到位置和位置的信息。SQL - 在不用替換原始ID的情況下兩次加入表格表

SELECT * 
FROM 
    imoova._relocation_deals A, 
    imoova._airport_codes_lookup B, 
    imoova._vehicle_types C 
WHERE 
    A.active = 1 
AND A.location_from = B.code 
AND B.country = :country 
AND A.vehicle_type_id = C.id 

基本上我想在查詢中加上:A.location_to = B.code。不過,據我所知,他們不會將表格追加兩次到結果。理想情況下,我希望能夠產生類似於此的結果。

to | to(city) | to(country) | from | from(city) | from(country)| 
------------------------------------------------------------------ 
BNE | Brisbane | AUS   | SYD | Sydney  | AUS   | 

我不知道這是否可能,因爲它本質上是在結果中創建新列,但如果是這樣會節省我很多時間!任何幫助將不勝感激,謝謝。

+0

如果你喜歡,可以考慮下列行爲這個簡單的兩步過程:1.如果您還沒有這樣做,提供適當的創建和插入語句(和/或sqlfiddle),這樣我們可以更容易複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相對應的所需結果集。 – Strawberry

回答

1

您可以多次連接一個表,但每個連接都需要一個唯一的別名,因此DB可以區分您正在討論的「克隆」表中的哪一個。

SELECT ..., a.id, b.id 
FROM MainTable 
JOIN sometable AS a ON ... 
JOIN sometable AS b ON ... 
+0

謝謝,別名是我一直在尋找的:) –

相關問題