读书人

求大神帮忙上

发布时间: 2013-03-06 16:20:31 作者: rapoo

求大神帮忙下,急急急。在线等
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中可以用

读书人网 >SQL Server

热点推荐