Рекурсивные TSQL-запросы

Опубликовано Mar 29, 2013 в Язык SQL | 1 коммент.

,

Рекурсивные TSQL-запросы

Продолжаем пополнять раздел с задачами по SQL. Исходные данные описывают ситуацию, когда имеется сеть агентов по продаже чего-либо и эти агенты организованы в иерархическую структуру (таблица Agent_Hierarhy). Любой факт продажи (таблица Order) осуществляется одним из агентов. Любой агент, независимо от своего ранга в иерархии может  осуществлять продажи.

Реляционные данные, описывающие эту ситуацию приведены на рисунке.

Исходные данные в виде скриптов на T-SQL можно скачать здесь.

Саму иерархию сотрудников вместе с некоторыми вычисленными результатами можно увидеть на рисунке ниже.

Иерархия агентовНужно придумать, как, используя полный синтаксис оператора SELECT на T-SQL, вычислять результаты для запросов такого типа: “Найти, какое количество заказов оформили сотрудники, расположенные в иерархии заданного супервайзера”. Например, обведенное красным овалом число 272, соответствует такому запросу: “Найти число заказов, оформленных агентом по имени Annabel Else вместе со всеми ее подчиненными”.


Автор публикации: