У меня есть двоичное дерево, реализованное в sql server 2008 r2 в следующем виде
Двоичная информация таблицы
Идентификатор родителя ---- LeftChildID ----RightChildID
1 -------------- 2 -------------- 3
2 -------------- 4 --------------- 5
3 -------------- 6---------------- 7
1(Root)
2 | 3
4 5 | 6 7
и так далее.Теперь мне нужно подсчитать общее количество членов на левой и правой стороне члена, например, 1 имеет 3 левых детей и 3 правых ребенка.2 имеет 1 левого ребенка и 1 правого ребенка.
Я, вероятно, могу сделать это в C #, но есть ли способ сделать это на сервере SQL с использованием Procs или функций?
Я не могу использовать heirarchyid, потому чтоданные уже занесены в эту таблицу.
PS счет нужно брать отдельно, т. е. общее количество левых детей и общее количество правых детей.