[python] SQLAlchemy Union Parenthese-Problem


Answers

Question

Ich muss eine Abfrage ähnlich der folgenden generieren:

(select * from ... where .. and .. order by .. limit ..)
union all
(select * from ... where .. and .. order by .. limit ..)
order by ..

Mit SQLAlchemy erstelle ich zwei Abfrageobjekte wie in:

q1 = Session.query(..).filter(..).filter(..).order_by(..).limit(..)
q2 = Session.query(..).filter(..).filter(..).order_by(..).limit(..)
q = q1.union_all(q2).order_by(..).all()

Es wird jedoch nicht funktionieren, da SQLAlchemy Abfragen erzeugt: q1 und q2 sind nicht in Klammern und es erzeugt einen Fehler.

Wie kann ich diese Anweisungen in Klammern für q1 q2 Union erhalten, um in oben ausgedrückte Abfrage zu führen?




Related