Sortowanie wyników w wyrażeniu CTE

0

hej,
Mam wyrażenie CTE:

with drzewo
(
id, id_rodzica, imie, pozycja
)
as
(
select c.id, c.id_rodzica, c.imie, ROW_NUMBER() OVER (ORDER BY c.imie)  as pozycja
from czlowiek c

where c.id = 55

union all

select child.id, child.id_rodzica, child.imie,  ROW_NUMBER() OVER (ORDER BY child.imie)  as pozycja
from czlowiek child

inner join drzewo as parent on child.id_rodzica = parent.id
)

select *
from drzewo

O ile to zapytanie działa prawidłowo dla mssql to dla h2 jest błąd, że jest nieprawidłowa składnia. Wiem, że w h2 nie ma row_number() over().
Czym mogę to zastąpić by mieć prawidłowo posortowane wyniki w mssql i h2 jednocześnie?

0

chcesz mieć posortowane czy pole pozycja narastająco?

Bo posortować to poprzez dodanie order by.

W zapytaniu: row_number() w h2 to rownum(), poza tym Recursive Queries w H2 są dodane eksperymentalnie i maja inną składnie (http://www.h2database.com/html/advanced.html#recursive_queries) więc obejście numeru wiersza nie pomoże za wiele.

0

chciałem sortować wewnątrz "with". Ale ok, poradziłem sobie przez manewrowanie kolumnami w order by.
dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1