Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 подскажите запрос для parent child - вывести сумму всех child для каждого parent  [new]
Yuri_B
Member

Откуда:
Сообщений: 93
День добрый,
не могу вспомнить как из таблицы T
(
parent_id int,
child_id int,
child_name varchar(10),
qty float
)

вывести для каждого parent сумму(qty) всех его child по всем уровням ниже(не только прямых child)
у самых верхних элементов parent_id is null

подскажите пожалуйста кто знает
18 ноя 11, 16:34    [11622083]     Ответить | Цитировать Сообщить модератору
 Re: подскажите запрос для parent child - вывести сумму всех child для каждого parent  [new]
Yuri_B
Member

Откуда:
Сообщений: 93
То есть не для каждого parent сумму, а для каждого элемента этой таблицы - его qty+qty всех его child и их child и т.д...
18 ноя 11, 16:36    [11622104]     Ответить | Цитировать Сообщить модератору
 Re: подскажите запрос для parent child - вывести сумму всех child для каждого parent  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
Рекурсивное CTE.
18 ноя 11, 16:45    [11622159]     Ответить | Цитировать Сообщить модератору
 Re: подскажите запрос для parent child - вывести сумму всех child для каждого parent  [new]
hpv
Member

Откуда:
Сообщений: 153
Yuri_B,

Типа такой cte

with Hierarchy(TopParentId, ParentId, ChildId, ChildName) as
(
select t.child_id as TopParentId, t.child_id as ParentId, t.child_id as ChildId, t.child_name as ChildName
	from #T as t
		where t.parent_id is null

union all

select h.TopParentId as TopParentId, h.ChildId as ParentId, t.child_id as ChildId, t.child_name as ChildName
	from #T as t
	join Hierarchy as h on h.ChildId = t.parent_id
)
select h.TopParentId as parent_id, Sum(t.qty) as Sm
	from Hierarchy as h
	join #T as t on t.child_id = h.ChildId
group by h.TopParentId
18 ноя 11, 16:53    [11622207]     Ответить | Цитировать Сообщить модератору
 Re: подскажите запрос для parent child - вывести сумму всех child для каждого parent  [new]
Yuri_B
Member

Откуда:
Сообщений: 93
hpv,invm спасибо
18 ноя 11, 17:24    [11622410]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить