我有一个简单的3个记录表,如下所示:
ChildID | ParentID | Name
--------------------------
1 | null | ABC
2 | null | DEF
3 | 1 | GHI
我需要的是查询,它基本上列出了名称和父名称。在null的情况下,它应该不返回父类,这种东西:
ChildID | Name | Parent_Name
--------------------------------
1 | ABC | no parent
2 | DEF | no parent
3 | GHI | ABC
由于我是SQL服务器的新手,我不确定如何处理这个问题。我试图搜索但是徒劳无功。任何意见将不胜感激
答案 0 :(得分:2)
一个简单的left outer join
将完成这项工作。试试这个
CREATE TABLE #tttt
(
childid INT,
parentid INT,
name VARCHAR(50)
)
INSERT INTO #tttt
VALUES (1,NULL,'ABC'),
(2,NULL,'DEF'),
(3,1,'GHI')
SELECT a.childid,
a.name,
Isnull(b.name, 'No parent') AS Parent_Name
FROM #tttt a
LEFT JOIN #tttt b
ON b.childid = a.parentid
<强>输出强>
childid name Parent_Name
------ ---- -----------
1 ABC No parent
2 DEF No parent
3 GHI ABC