[英]have left join on 2 columns from first table
我對MySQL語法有疑問。 我有2張桌子以下
Name table
ID Routing start end
1 Route 1 RTM1 RTM5
2 Route 2 RTM1 RTM4
3 Route 3 RTM3 RTM2
Location table
ID Code Name Address
1 RTM1 Test1 Address1
2 RTM2 Test2 Address2
3 RTM3 Test3 Address3
4 RTM4 Test4 Address4
5 RTM5 Test5 Address5
這當然是我使用的數據庫的非常簡化的版本,但這將適合我的問題。
所以我需要從位置表中輸出名稱。 我該怎么辦? 我的左聯接看起來如何?
SELECT Routing, start, end
FROM name
LEFT JOIN Location ON (not sure what here needs to come)
WHERE ID='1'
那么,如果我想按名稱輸出開始和結束,該如何區分兩個所需的位置?
編輯:這是我期望作為輸出:
[Routing] => Route 1
[Start] => Test1
[End] => Test5
如果我正確理解了您的問題,這就是您要查找的查詢:
SELECT
n.ID,
n.Routing,
l1.Name AS start_name,
l2.Name AS end_name
FROM
Name AS n LEFT JOIN location AS l1 ON n.start=l1.Code
LEFT JOIN location AS l2 ON n.end=l2.Code
(您必須使用兩個不同的別名(例如l1和l2)加入位置表TWICE)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.