从第一个 table 开始加入 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'
那么如果我想按名称输出开始和结束,我该如何区分2个需要的位置呢?
编辑:
这是我期望的输出:
[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
(您必须加入位置 table 两次,使用两个不同的别名,例如 l1 和 l2)
我对 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
如果我没有正确理解你的问题,这就是你要查找的查询:
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
(您必须加入位置 table 两次,使用两个不同的别名,例如 l1 和 l2)