Fehler in verschachtelter Unterabfrage In DQL: Klasse '(' ist nicht definiert
Ich habe eine DQL wie folgt:
SELECT at, count(at.id) FROM AccountTriple at JOIN at.property p JOIN at.account ac WHERE p.create_analytics = '1' GROUP BY at.property, at.value, ac.service
Wie Sie sehen, hat es drei Verknüpfungen. Als 'at' und 'ac' haben beide große Datenmengen. In dem Versuch, es zu optimieren, versuche ich, die "p.create_analytics = '1'" - Überprüfung vor dem Join auf 'ac' zu verschieben, um einen kleineren Datensatz für den Join zu erhalten. Ich versuche so etwas zu erreichen:
SELECT at, count(at.id) FROM ( SELECT at FROM AccountTriple at JOIN at.property p WHERE p.create_analytics = '1' ) JOIN at.account ac GROUP BY at.property, at.value, ac.service
Aber irgendwie funktioniert meine Syntax nicht. Eine Fehlermeldung wird wie folgt angezeigt:
Semantischer Fehler] Zeile 0, Spalte 29 in der Nähe von '(SELECT at FROM': Fehler: Klasse '(' ist nicht definiert.
Ich habe nirgendwo anders ein ähnliches Beispiel gefunden. Kann jemand helfen, diese DQL-Abfrage zu reparieren, damit sie funktioniert? Danke im Voraus.