数据库查询:查询父节点数据下的所有终结子节点 30
数据库中数据:图:现有要求如下:知道一个节点,求该节点下所有没有子节点的子节点如:1--->6,7,82-->7,8请问sql语句应该怎么写?...
数据库中数据:
图:
现有要求如下:
知道一个节点,求该节点下所有没有子节点的子节点
如:
1--->6,7,8
2-->7,8
请问sql语句应该怎么写? 展开
图:
现有要求如下:
知道一个节点,求该节点下所有没有子节点的子节点
如:
1--->6,7,8
2-->7,8
请问sql语句应该怎么写? 展开
1个回答
展开全部
主要是分层查询,sql脚本如下:
CREATE TABLE TEST_A (ID NUMBER,PID NUMBER)
INSERT INTO TEST_A
VALUES(1,0);
COMMIT;
INSERT INTO TEST_A
VALUES(2,1);
COMMIT;
INSERT INTO TEST_A
VALUES(3,1);
COMMIT;
INSERT INTO TEST_A
VALUES(4,2);
COMMIT;
INSERT INTO TEST_A
VALUES(5,2);
COMMIT;
INSERT INTO TEST_A
VALUES(6,3);
COMMIT;
INSERT INTO TEST_A
VALUES(7,4);
COMMIT;
INSERT INTO TEST_A
VALUES(8,5);
COMMIT;
SELECT *
FROM TEST_A A
START WITH A.PID = 0
CONNECT BY PRIOR A.ID = A.PID
ORDER BY A.PID;
希望能帮到你。
追问
请问你用的是什么数据库,我用的是sqlserver 2008,你给的语句执行出错:
'START' 附近有语法错误。
消息 319,级别 15,状态 1,第 3 行
关键字 'with' 附近有语法错误。如果此语句是公用表表达式、xmlnamespaces 子句或者更改跟踪上下文子句,那么前一个语句必须以分号结尾。
追答
哦,我是oracle数据库,sqlserver应该也会有类似的写法,这个我就帮不上你了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询