Sqlserver普通的CTE递归示例--【叶子】
--创建表 declare @T table (ID int,pid int,NAME varchar(6)) insert into @T select 1,0,'上衣' union all 2,'鞋子 3,'裤子 4,1,'毛衣 5,'衬衫 6,2,'球鞋 7,'皮鞋 8,3,'西裤 9,'筒裤 10,4,'羊毛衣 11,'牛毛衣 12,5,'白衬衫 13,'黑衬衫' ? @i int set @i =1 --参数假定为 ? ;with depts as( ? ??? select * from @T ??? where ID = 1 ??? union all ??? select a.* ??? from @T a, depts b ??? where a.pid = b.ID ) ? --取出所有id为1的子项 * from depts /* ID????????? pid???????? NAME ----------- ----------- ------ 1?????????? 0?????????? 上衣 4?????????? 1?????????? 毛衣 5?????????? 1?????????? 衬衫 12????????? 5?????????? 白衬衫 13????????? 5?????????? 黑衬衫 10????????? 4?????????? 羊毛衣 11????????? 4?????????? 牛毛衣 */ ? ? @【叶子】http://blog.csdn.net/maco_wang 原创作品,转贴请注明作者和出处,留此信息。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |