当前位置: 代码迷 >> Sql Server >> 求大神帮忙上,
  详细解决方案

求大神帮忙上,

热度:49   发布时间:2016-04-24 23:28:59.0
求大神帮忙下,急急急。在线等
sql 2008:
在一张表中(类似菜单),根据一个或多个父节点查询出所有自节点(包括子节点下的子节点)。

fid fnumber fname fparent
1 N001 name1 
2 N00101 name2 1
3 N002 name3 
4 N00201 name4 2
.
        .
        .
n-1     N0020201   name5 4 
n N00202 namen 2

如我需要查出
N001,N002下的所有数据,用一条sql语句??? 

------解决方案--------------------

WITH tp AS (
SELECT a.* FROM TB WHERE fname IN ('N001','N002')
UNION ALL
SELECT * FROM TB a JOIN tp b ON a.fparent=b.id)
SELECT * FROM tp

------解决方案--------------------
引用:
with as 可用在sql2008中使用吗,我新手。

可以
------解决方案--------------------
2005以后就可以用CTE,也就是with
------解决方案--------------------
引用:
SQL code?12345WITH tp AS (SELECT a.* FROM TB WHERE fname IN ('N001','N002')UNION ALLSELECT * FROM TB a JOIN tp b ON a.fparent=b.id)SELECT * FROM tp

懒一下,引用1楼得,UP
with在2008中可以用
  相关解决方案