TSQL для получения всех строк из рекурсивной таблицы - PullRequest
2 голосов
/ 14 марта 2012

Это продолжение вопроса: SQL Server для отображения дерева данных в определенном формате

Теперь у нас есть вторая таблица, которая связана с первой на«листовые» строки:

table1:

   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 будут листьями (у них нет дочерних элементов)

table2:

   Itemid   RelItemid
    item1    itemF
    item2    itemF
    item3    itemG

Визуальное отношение будет выглядеть так:

-itemA
    -itemC
        -itemE
            itemF (item1, item2)
    -itemD
        itemG (item3)
itemB

И нам нужно получить все строки из 2-й таблицы, которые связаны с первой таблицей, отфильтровав ее по указанному узлу.

Примеры:

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: 

Извините за длинный пост, для того, чтобы закрыть любые дыры ... спасибо

Ответы [ 2 ]

0 голосов
/ 07 июня 2012

В конце концов мы решили, что это зацикливание результатов и выполнение sqls для получения связанных строк из второй таблицы ... не желаемого решения, а единственно возможного

0 голосов
/ 23 марта 2012
...