Das ganze heißt offiziell "Common-Table-Expression", siehe unter
http://publib.boulder.ibm.com/iserie...htm#HDRCOMTEXP

und zeitigt ganz erstaunlich Ergebnisse.

Möchte ich per ODBC (und bei JDBC findest du sicherlich ähnliche Anwendungen) dem Benutzer e.g. die Anzahl erwarteter Datensätze anzeigen (Fortschrittsanzeige ist da sehr schön) verwende ich folgende Methode (natürlich erst ab V5):

Code:
with
xTable as (fullselect)
,
xCount as (select count(*) as xRecs from xTable)

select * from xTable, xCount
Mit diesem Crossjoin bekomme ich zwar die Anzahl als letztes Feld immer übergeben, aber ich kann nun eine Fortschrittsanzeige darstellen und der Overhead ist geringfügig !