数据库查询:查询父节点数据下的所有终结子节点 30

数据库中数据:图:现有要求如下:知道一个节点,求该节点下所有没有子节点的子节点如:1--->6,7,82-->7,8请问sql语句应该怎么写?... 数据库中数据:

图:

现有要求如下:
知道一个节点,求该节点下所有没有子节点的子节点
如:
1--->6,7,8
2-->7,8

请问sql语句应该怎么写?
展开
 我来答
百度网友4150a8c
2014-03-21 · TA获得超过2018个赞
知道小有建树答主
回答量:629
采纳率:25%
帮助的人:316万
展开全部

主要是分层查询,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应该也会有类似的写法,这个我就帮不上你了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式