1
我有一个表象下面这样:SQL查询来找到内,叶和根节点
ID P_ID
1 2
3 2
6 8
9 8
2 5
8 5
5 null
我已经使用了查询
SELECT ID,
CASE
WHEN P_ID IS NULL THEN 'Root'
WHEN NOT EXISTS (SELECT ID FROM MINOA.TREE WHERE P_ID=T0.ID) THEN 'Leaf'
ELSE 'Inner'
END T
FROM MINOA.TREE T0
ORDER BY ID;
我得到的输出是:
ID P_ID
1 leaf
2 inner
3 leaf
5 inner
6 leaf
8 inner
9 leaf
但是对于ID 5,它应该已经返回Root
你为什么叫喊? –
正因为如此,你再次调用表的时候,'SELECT ID FROM MINOA.TREE WHERE P_ID = T0.ID'。在这里显示更多细节。你怎么会出现'叶子'以及'内部'的结果。 –