簡體   English   中英

已離開第一張桌子的2列的聯接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM