1

我有一个表 ID、名字和姓氏。我还有一张孩子和父母的桌子。我想使用 ID 表将子/父表从 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 语句让我得到一份所有人的列表,但不维护结构。有任何想法吗?

抱歉编辑很丑(或缺少编辑),这是我第一次在这里发帖,我很着急。我希望这不会令人困惑。

4

1 回答 1

3
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
于 2013-10-17T21:08:11.283 回答