自引用获取所有链接的记录父级&;小孩
本文关键字:amp 小孩 记录 获取 链接 自引用 | 更新日期: 2023-09-27 18:26:50
我想使用实体框架从自引用表中选择所有相关记录。我没有任何具体的级别。它只适用于所有相关记录,所有子记录和所有父记录。以下是一些示例数据。因此,如果我将ID 5传递给函数,它应该会给我ID为1,4,5,7,8的记录。
5是id 7的父id,7是id 8的父id。类似地,5的父id是1,1也是id 4的父id。
因此,通过这种方式,我想选择Id为5的所有下面和上面的记录。
数据源
Id Name ParentId
1 Test 1 NULL
2 Test 2 NULL
3 Test 3 NULL
4 Test 4 1
5 Test 5 1
6 Test 6 4
7 Test 7 5
8 Test 7 7
预期
1 Test 1 NULL
4 Test 4 1
5 Test 5 1
7 Test 7 5
8 Test 7 7
我得到了逻辑。我们需要首先识别根节点,然后从根节点中找到链接的家谱。我们可以编写一个CTE来查找根节点,也可以添加一个新列来保留根节点id。带有根节点的Sql Fiddle