我的SQL查询有问题。
我有两个表-第一个表具有ID和个人ID:
id | id_p | id_p2
1 | 1 | 2
2 | 2 | 3
...
在第二个中,我有“人物ID”及其姓名
id_p | name
1 | John
2 | Alice
3 | Daniel
...
我需要的-我需要获得一个SQL查询,该查询将返回给我人的名字,但是每个id_p在不同的列中。所以我也需要带名称的id_p和带名称的id_p2。这里的例子
id | id_p | id_p2 | name_p | name_p2
1 | 1 | 2 | John | Alice
2 | 2 | 3 | Alice | Daniel
...
我该怎么做?非常感谢!
答案 0 :(得分:1)
您需要SELF JOIN
:
select t.id, p.name as FirstIdPerson, p2.name as SecondIdPerson
from table t inner join
person p
on p.id_p = t.id_p inner join
person p2
on p2.id_p = t.id_p2;