sql - Multiple CTE in single query -
is possible combine multiple ctes in single query arel? looking way result this:
with 'cte1' ( ... ), recursive 'cte2' ( ... ), 'cte3' ( ... ) select ... 'cte3' ... as can see, have 1 recursive cte , 2 non recursive.
use key word with once @ top , if of common table expressions (cte) recursive (rcte) have add keyword recursive @ top also, if not ctes recursive:
with recursive cte1 (...) -- can still non-recursive , cte2 (select ... union select ...) -- recursive term , cte3 (...) select ... cte3 ... if
recursivespecified, allowsselectsubquery reference name.
bold emphasis mine. and, more insightful:
another effect of
recursivewithqueries need not ordered: query can reference 1 later in list. (however, circular references, or mutual recursion, not implemented.) withoutrecursive,withqueries can reference siblingwithqueries earlier inwithlist.
bold emphasis mine again. meaning order of with clauses meaningless when recursive key word has been used.
btw, since cte1 , cte2 not referenced in outer select, never executed (unless referenced in cte3).
Comments
Post a Comment