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