我对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'
那么,如果我想按名称输出开头和结尾,我如何区分所需的2个位置?
编辑: 这是我期望的输出:
[Routing] => Route 1
[Start] => Test1
[End] => Test5
答案 0 :(得分:0)
如果我正确理解您的问题,这是您正在寻找的查询:
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
(你必须加入位置表TWICE,使用两个不同的别名,例如l1和l2)