假设我有:
表格1:
ID Name
1 Ann
2 Mike
3 Stan
4 Kyle
表2:
Pair ID Person1ID Person2ID
1 1 2
2 3 4
我想选择对,但是使用名称而不是ID,所以这将是输出:
1 Ann Mike
2 Stan Kyle
我想象一个简单的:
inner join Table1 on Table1.ID=Table2.Person1ID
不会起作用,因为我想要他们两个,不仅仅是一个。
我对SQL很陌生,所以如果有一个简单的答案,我很抱歉。
您必须连接两次并使用别名来区分表
SELECT t2.PairID, A.Name, B.Name
FROM Table2 t2
JOIN Table1 A
ON t2.Person1ID = A.ID
JOIN Table1 B
ON t2.Person2ID = B.ID
您可以加入以下子查询:
Select p.PairID, p.Name, q.Name
from
(Select t2.PairID, t1.Name
from Table1 t1 inner join Table2 t2
on t1.ID = t2.Person1ID) p
inner join
(Select t2.PairID, t1.Name
from Table1 t1 inner join Table2 t2
on t1.ID = t2.Person2ID) q
on p.PairID = q.PairID
在demo中查看结果。