Ето примерен скрипт, използващ общ израз на таблица:
with recursive sumthis(id, val) as (
select id, value
from example
where id = :selectedid
union all
select C.id, C.value
from sumthis P
inner join example C on P.id = C.parentid
)
select sum(val) from sumthis
Скриптът по-горе създава "виртуална" таблица, наречена sumthis който има колони id и val . Дефинира се като резултат от две селекции, обединени с union all .
Първо select получава корен (where id = :selectedid ).
Второ select следва децата на предишните резултати итеративно, докато няма какво да върне.
След това крайният резултат може да бъде обработен като нормална таблица. В този случай колоната val се сумира.