gpt4 book ai didi

sql-server - SQL Server查询以查找 child 的 parent 姓名

转载 作者:行者123 更新时间:2023-12-02 02:16:56 26 4
gpt4 key购买 nike

我有一张这样的 table

ID  Name    Mother  Father
1 Sue NULL NULL
2 Ed NULL NULL
3 Emma 1 2
4 Jack 1 2
5 Jane NULL NULL
6 Bonnie 5 4
7 Bill 5 4

我需要如下输出

ID  Name    Mother  Father
3 Emma sue ed
4 jack sue ed
6 bonnie jane jack
7 bill jane jack

我已经尝试用 join n cte 编写查询但无法提出逻辑,有人可以帮我吗

最佳答案

SELECT t.ID, t.Name, m.Name, f.Name
FROM your_table t
INNER JOIN your_table m ON m.ID = t.Mother
INNER JOIN your_table f ON f.ID = t.Father

如果您想包含没有Mother 和/或Father 节点的记录,请使用LEFT JOIN:

SELECT t.ID, t.Name, ISNULL(m.Name, 'Orphan') Mother, ISNULL(f.Name, 'Orphan') Father
FROM your_table t
LEFT JOIN your_table m ON m.ID = t.Mother
LEFT JOIN your_table f ON f.ID = t.Father

关于sql-server - SQL Server查询以查找 child 的 parent 姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10026958/

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