这是该问题的后续内容:SQL Server to show a data tree in a specific format

现在,我们有第二个表与“叶子”行中的第一个表相关:

表格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


在此表中,itemF和itemG将是叶子(它们没有任何子代)

表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:


对不起,很长的帖子,为了遮盖所有孔...谢谢

最佳答案

我认为Recursive Queries Using Common Table Expressions!可能会用尽你

09-28 01:50