TSQL从递归表中获取所有行
本文关键字:获取 递归 TSQL | 更新日期: 2023-09-27 18:27:51
这是问题的后续:SQL Server以特定格式显示数据树
现在我们有了第二个表,它与"叶"行上的第一个表相关:
表1:
Itemid Itemname Itemfatherid
itemA theitemA null
itemB theitemB null
itemC theitemC itemA
itemD theitemD itemA
itemE theitemE itemC
itemF theitemF itemE
itemG theitemG itemD
在这张表中,项目F和项目G将是树叶(他们没有孩子)
表2:
Itemid RelItemid
item1 itemF
item2 itemF
item3 itemG
视觉关系如下:
-itemA
-itemC
-itemE
itemF (item1, item2)
-itemD
itemG (item3)
itemB
我们需要从第二个表中获取与第一个表相关的所有行,通过特定的节点进行过滤。
示例:
Filtering by node itemA: item1, item2, item3
Filtering by node itemE: item1, item2
Filtering by node itemD: item3
Filtering by node itemG: item3
Filtering by node itemB:
抱歉发了这么长的帖子,这是为了盖住任何洞。。。感谢
我认为使用公共表表达式的递归查询!可能会使用完整的
最后,我们通过循环结果和执行sql从第二个表中获取相关行来解决这个问题。。。不是所需的解决方案,而是一个可行的