当前位置: 代码迷 >> Sql Server >> 求一条Sql。解决方法
  详细解决方案

求一条Sql。解决方法

热度:8   发布时间:2016-04-24 18:21:11.0
求一条Sql。
现有表book,字段bookType(书籍类型),parent(所属类型),如何查出类型为booktype=【科幻】的所有下级书信息?
当然【科幻】下面还有下级书的也要查询出来。就相当于一棵树父节点是【科幻】下面的所有子节点都要查询出来。
------解决方案--------------------
try this:
create table book(bookType varchar(100),parent varchar(100))

insert into book
select 'xxx','yyy' union all
select '科幻','xxx' union all
select '穿越','科幻' union all
select '古装','穿越'
go

;with t as
(
select * from book as  a where booktype='科幻'
union all
select a.* from book as  a inner join t as b on a.parent=b.booktype 
)

select * from t
/*
bookType parent
科幻 xxx
穿越 科幻
古装 穿越
*/
  相关解决方案