MS SQL Server 2019。有一个表,id,name,parent_id
id name parent_id
__ ____ _________
1 Задача1 null
2 name1 1
3 name2 2
4 Задача2 null
5 name1 4
6 Задача3 null
如何通过递归查询确定记录是否有子项并为其设置适当的参数(叶 - 真 - 最后一个元素没有子项/假 - 有子项),即 得到一个这样的表:
id name parent_id leaf
__ ____ _________ ____
1 Задача1 null false
2 name1 1 false
3 name2 2 true
4 Задача2 null false
5 name1 4 true
6 Задача3 null true
为什么是递归?选择所有最终元素。
select id from table where id not in (select parent_id from table)