>> правда выглядит некрасиво ...

VH>     пАчему некрасиво ?

     Если я правильно вьезжаю в доку README.common_table_expressions.txt
     каждая секция with_item является как бы изолированой группой
     рекурсии, если можно так выразится ...
     У меня они ассоциируются с рекурсивными функциями вызывамыми
     друг из дружки ...
     Так вот меня смущает конструкция:

 select ti, sum(q) from Recursion r
  join iteration i on r.mid = i.mid
   group by ti

     где я, грубо говоря из основной "программы" пытаюсь "залезьть"
     в "адресное пространство" рекурсивных функций причём одна из них
     может вызыватся в из под другой функции и из "основной программы"
     ...
     Не может ли из-за этого возникнуть накладки ?
     Что-то "раньше вызвалось", или например

 select i.tra-la-la, r.la-la-tra, i.try-la-la  from Recursion r
  join iteration i on r.mid = i.mid

  при чтении i.tra-la-la значения i определено,
  при чтении r.la-la-tra - дёргается "функция" i

  Вопрос: что будет при чтении i.try-la-la ?
          значение ДО "дёргания" "функции" i
          или другое ?
          
 т.е. насколько равносильны запросы

 select i.tra-la-la, r.la-la-tra, i.try-la-la  from Recursion r
  join iteration i on r.mid = i.mid

  и
  
 select i.tra-la-la, i.try-la-la, r.la-la-tra  from Recursion r
  join iteration i on r.mid = i.mid

и

 select r.la-la-tra, i.tra-la-la, i.try-la-la  from Recursion r
  join iteration i on r.mid = i.mid

С уважением,
Константин Григорьевич.
===============


Ответить