"Константин"
> Оносительно недавно с удовольствием для себя открыл прелесть
> конструкции WITH RECURSIVE. Что сказать - КЛАС !!!
Ну вот, хоть кто-то пользует (кроме Саши :), уже приятно ;)
> Но ещё не до конца вьезжаю как её на полную катушку использовать ;)
> Подскажите плиз ...
>
> Есть документооборот основанный на снятиях каточек, необходимо
> построить отчёт о не выполненных заказах. Т.е. о к-ве карточек
> не не снятых расходом клиента, но с выводом всех промежуточных
> статусов ... Делаю это примерно так:
Ни фига не понял
> for select ti, sum(q) from (
> WITH RECURSIVE Recursion as (
> select m0.type_id ti, d0.id ci, d0.quantity q from vw_det0 d0
> join vw_DOC0 m0 on m0.id = d0.doc_id and d0.card_id = -1 and
>d0.tovar_id = :tov_id
> UNION ALL
> select m1.type_id ti, d1.id ci, d1.quantity q from vw_det0 d1
> join vw_DOC0 m1 on m1.id = d1.doc_id
> join Recursion r on r.ci = d1.card_id
> ) select * from Recursion
> ) group by ti into :ti, :tmp do
Но, судя по теме письма, тебе может помочь where после
select * from Recursion ?
--
Хорсун Влад