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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage