首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

递归有关问题解决办法,求大神帮帮忙!

2013-12-26 
递归问题解决方法,求大神帮帮忙!![解决办法]用CTE支持递归查询。下面的语句是对B表的递归,你可以根据你的需

递归问题解决方法,求大神帮帮忙!!


[解决办法]
用CTE支持递归查询。下面的语句是对B表的递归,你可以根据你的需要改造一下。
WITH cc AS(
SELECT
t1.VerID, t1.BOMUsg
FROM dbo.bb t1
WHERE t1.BOMUsg = 'z'
UNION ALL
SELECT
t2.VerID, t2.BOMUsg
FROM cc AS t1 INNER JOIN dbo.bb AS t2 ON t1.VerID = t2.VerID
WHERE t2.BOMUsg = '3'


)
SELECT
*
FROM CC;
[解决办法]

WITH cte AS 
(
SELECT ID,ItemCode,BOMUsage,1 AS leve FROM 
(
SELECT aa.ID,aa.ItemCode,aa.BOMUsage FROM aa
JOIN bb ON aa.ItemCode=bb.VerID AND aa.BOMUsage=bb.BOMUsg
)a
UNION ALL
SELECT b.ID,b.ItemCode,b.BOMUsage,cte.leve+1 AS leve
FROM 
(
SELECT aa.ID,aa.ItemCode,aa.BOMUsage FROM aa
    JOIN bb ON aa.ItemCode=bb.VerID AND aa.BOMUsage=bb.BOMUsg
)b JOIN cte ON b.ID=cte.ItemCode 
)
SELECT * FROM cte 

热点排行