Как проставить в таблице отдельный параметр для потомков (имеющих родителя, но не имеющих своих потомков)
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
Как рекурсивным запросом определять имеет ли запись потомков или нет и проставлять ей соответствующий параметр (leaf - true - последний элемент не имеющий потомков /false - есть потомки), т.е. получить таблицу следующего вида:
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
Ответы (1 шт):
Автор решения: IgorSl
→ Ссылка
А зачем рекурсия? Вьібор всех конечньіх елементов.
select id from table where id not in (select parent_id from table)