我有表ID,名字和姓氏。我还有一张儿童和父母的桌子。我想使用ID表将children / parent表从int转换为nvarchar。在这个例子中,我们有两个人,Mark和Ray Smith。雷是马克的父母。雷没有父母。
People_Table
ID|First|Last
--+-----+----
0 |NULL|NULL
10|Mark|Smith
15|Ray |Smith
Parent_Child_Table
Child|Parent
-----+------
10 | 15
15 | 0
我想要
First|Last|First|Last
-----+-----+----+-----
Mark|Smith|Ray|Smith
Ray|Smith|NULL|NULL
我尝试过使用INNER JOIN,但这只会给我一些孩子的名字。使用两个select语句获取一个所有人的列表,但不保持结构。有什么想法吗?
对于丑陋的编辑(或缺乏编辑)感到抱歉,这是我第一次在这里发帖,我很急。我希望这不会令人困惑。
答案 0 :(得分:2)
select p.first, p.last, c.first, c.last
from parent_child_table pc
inner join people_table p on p.id = pc.parent
inner join people_table c on c.id = pc.child