gpt4 book ai didi

sql - SQL中的父子记录关系?

转载 作者:行者123 更新时间:2023-12-04 21:05:16 25 4
gpt4 key购买 nike

我需要找出在 SQL 中查询父/子关系的最佳方法。一些父字段将是子字段的数据。这是一个例子:

ID     Field1       Field2         ParentId
--------------------------------------------
1 stuff moreStuff 0
2 childStuff (from parent) 1

因此,子项的 Field2 将是父项的值。我需要弄清楚如何编写我的 SQL,以便当记录被拉回时, child 的 Field@ 将是“moreStuff”。我正在使用 SQL Server 2008。 谢谢。

最佳答案

假设 Field2 不能为 NULL,您可以将 LEFT JOIN 与 COALESCE 结合使用:

SELECT T1.ID, T1.Field1, COALESCE(T2.Field2, T1.Field2) AS Field2, T1.ParentID
FROM Table1 T1
LEFT JOIN Table1 T2
ON T1.ParentID = T2.ID

如果 Field2 可以为 NULL,则将合并表达式替换为以下内容:

CASE WHEN T2.Id IS NULL THEN T1.Field2 ELSE T2.Field2 END AS Field2

关于sql - SQL中的父子记录关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2229317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com