Ok, nicht richtig hingeschaut.
Wieviel Datensätze sind es denn und wie tief sind die "schlimmsten" verschachtelt?
Solche Selbstreferenzen bearbeitet man eigentlich mit CTE oder anderen (proprietären) rekursiven Verfahren oder Window Functions. Ob es sowas für ElevateDB gibt, weiß ich nicht.
Vielleicht kann man jedenfalls die halbe Arbeit für die Engine sparen, indem man wenigsten die Bedingung umformuliert:
Code:
WHERE MainVorg(Projekte.PROJ_NR) between '1000' and '2000'