Hallo Heinz,
sicher kannst Du von einer Abfrage auf eine andere Abfrage zugreifen. Die Base GUI macht Dir anschließend den entsprechenden Code:
Angenommen Du hast eine Abfrage1 und greifst darauf mit Abfrage2 zu.
In Abfrage2 steht dann als SQL-Code:
Die GUI macht daraus im Hintergrund
Code: Alles auswählen
SELECT "Abfrage1"."ID","Abfrage1"."Name" … FROM
( SELECT "tbl_Personen"."ID","tbl_Personen"."Name",… FROM "tbl_Personen" ) AS "Abfrage1"
Das bedeutet: Sie packt die erste Abfrage in eine Klammer und benennt den Inhalt mit einem Alias, dem Namen der Abfrage "Abfrage1".
Du kannst also ohne Umwege auch direkt eine Abfrage bauen, die auf eine interne Abfrage zugreift:
Sobald Du aber der inneren Abfrage, die hier mit dem Alias "a" versehen ist, eine Sortierung mit gibst, streikt die interne HSQLDB:
Code: Alles auswählen
SELECT * FROM (SELECT * FROM "tbl_Personen" ORDER BY "Name" ASC) AS "a"
funktioniert nicht.
Code: Alles auswählen
SELECT * FROM (SELECT * FROM "tbl_Personen") AS "a" ORDER BY "Name" ASC
funktioniert.
Wenn ich das z.B. mit dem direkten Treiber und der MariaDB mache, dann kommt keine Fehlermeldung. Es wird eben einfach nicht sortiert sondern nur die Sortieranweisung der äußeren Abfrage berücksichtigt.
Gruß
Robert