我搜索过,但没有找到任何可能有用的东西。
我在SQL Server 2005数据库中有以下表格:
Parent Child Value
---- -------- ---------
America Mexico 8
America Canada 1
Asia Japan 5
Asia Korea 7
Europe Spain 0
Europe Italy 2
Africa Zimbabwe 1
Mexico Baja California 0
America USA 3
USA California 1
USA Texas 2
父级和子级是主键,值并不重要(IMO)。我想创建一个结果如下的视图:
Parent Child Value
---- -------- ---------
America USA 3
USA California 1
USA Texas 2
我会搜索美国,结果将以递归的方式回馈每个嵌套的孩子,无论它有多少,因为我可以包括城市,地方等。
我需要的是类似于有人称之为BOM爆炸的内容。
答案 0 :(得分:0)
以下是如何做到这一点:
with cte as (
select parent, child
from t
union all
select cte.parent, t.child
from cte join
t
on cte.child = t.parent
)
select cte.*
from cte
where parent = 'America';
Here是一个小的SQL小提琴示例。