码迷,mamicode.com
首页 > 数据库 > 详细

SQL CTE 递归 查询省,市,区

时间:2014-06-28 17:58:36      阅读:470      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   name   c   sql   

 IF OBJECT_ID(tb) IS NOT NULL 
  DROP TABLE tb
create table tb(id varchar(3) , pid varchar(3) , name varchar(10))
insert into tb values(001 , null  , 广东省)
insert into tb values(002 , 001 , 广州市)
insert into tb values(003 , 001 , 深圳市)
insert into tb values(004 , 002 , 天河区)
insert into tb values(005 , 003 , 罗湖区)
insert into tb values(006 , 003 , 福田区)
insert into tb values(007 , 003 , 宝安区)
insert into tb values(008 , 007 , 西乡镇)
insert into tb values(009 , 007 , 龙华镇)
insert into tb values(010 , 007 , 松岗镇)
GO
SELECT * FROM tb AS t

DECLARE @ID VARCHAR(3) 
--查询ID = ‘001‘的所有子节点
SET @ID = 007
;WITH Temp AS (
  SELECT id,pid,NAME FROM tb AS t WHERE t.id=@ID
  UNION ALL
  SELECT t2.id,t2.pid,t2.NAME FROM tb t2 INNER JOIN Temp tm on t2.pid=tm.ID
)
SELECT * FROM Temp AS t WHERE id!=@ID

 

SQL CTE 递归 查询省,市,区,布布扣,bubuko.com

SQL CTE 递归 查询省,市,区

标签:style   blog   color   name   c   sql   

原文地址:http://www.cnblogs.com/gguozhenqian/p/3797222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!