Zde je příklad skriptu používajícího běžný tabulkový výraz:
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
Výše uvedený skript vytvoří „virtuální“ tabulku s názvem sumthis
který má sloupce id
a val
. Je definován jako výsledek dvou výběrů sloučených s union all
.
Nejprve select
získá kořen (where id = :selectedid
).
Druhý select
iterativně následuje potomky předchozích výsledků, dokud není co vrátit.
Konečný výsledek pak může být zpracován jako normální tabulka. V tomto případě je sloupec val sečten.