Hallo,
ein Problem habe ich doch noch. Ich verwende jetzt folgendes Statement (selbes wie oben, nur ohne WHERE-Condition), um eine TreeView zu füllen. Doch irgendwie sind alle Unterordner 2-mal vorhanden. Die Stammordner betrifft es nicht, nur die Unter(-unter)Ordner.
Ein "Group-by" bringt die Fehlermeldung
Zitat:
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause
Hier nochmal beide SQLs
Delphi-Quellcode:
//Mit o.g. Fehlermeldung
db.SQL('
WITH RECURSIVE ordner AS ( ' +
'
SELECT * FROM K_KATEGORIEN GROUP BY id'+
'
UNION ALL ' +
'
SELECT * FROM K_KATEGORIEN ' +
'
JOIN ordner ON K_KATEGORIEN.parent = ordner.id' +
'
) ' +
'
SELECT * FROM ordner');
//Mit o.g. Fehlverhalten (2-Fach-Einträge)
db.SQL('
WITH RECURSIVE ordner AS ( ' +
'
SELECT * FROM K_KATEGORIEN '+
'
UNION ALL ' +
'
SELECT * FROM K_KATEGORIEN ' +
'
JOIN ordner ON K_KATEGORIEN.parent = ordner.id' +
'
) ' +
'
SELECT * FROM ordner');
Hoffe, ihr könnt mir helfen.
Danke im Voraus