SQL Server循环数据查询
我有一个包含3条记录的简单表格,如下所示:SQL Server循环数据查询,sql,sql-server,Sql,Sql Server,我有一个包含3条记录的简单表格,如下所示: ChildID | ParentID | Name -------------------------- 1 | null | ABC 2 | null | DEF 3 | 1 | GHI 我需要的是一个查询,它基本上列出了名称和父名称。如果为null,则不应返回父级,类似于: ChildID | Name | Parent_Name ---------------------
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 server新手,所以我不确定如何解决这个问题。我曾试图寻找,但徒劳无功。任何评论都将不胜感激一个简单的
左外连接
就可以了。试试这个
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
干杯,伙计。ISNULL()函数是主要的绊脚石