So kommentieren Sie ein Funktionselement mit einem FROM-Objekt in SQLAlchemy

9

Während ich eine andere Frage beantworte , dr \ u00f6cke ich eine Wand ein versuchen, eine Hybrid-Eigenschaft zu erzeugen, die ein Funktionsausdruck umschließt eine skalare Unterabfrage, die alle seine FROM-Objekte von der einschließenden Abfrage korreliert, aber es würde immer noch ein FROM-Objekt bereitstellen, wenn nein Ein anderer Ausdruck in der einschließenden Abfrage stellt die Tabelle bereit, mit der er korrelieren kann.

Eine Spielzeugmodelldefinition gegeben

%Vor%

Das Problem ist das

%Vor%

führt zu

%Vor%

, da es in der einschließenden Abfrage nichts zu korrelieren hat. Ein einfaches Mittel ist es, select_from() zu verwenden Fügen Sie das FROM-Objekt explizit hinzu:

%Vor%

und die resultierende Abfrage ist das gewünschte

%Vor%

Während dies funktioniert, fügt es einen mentalen Overhead hinzu, da Sie daran denken müssen, das select_from(Foo) hinzuzufügen, wenn Sie nur die hybride Eigenschaft auswählen. Dies ist kein Problem, wenn ein anderes ausgewähltes Element Foo :

bereitstellt %Vor%

Gibt es eine Möglichkeit, den zurückgegebenen Funktionsausdruck func.array(...) - oder die innere skalare Unterabfrage mit Anmerkungen zu versehen, so dass Foo als FROM-Objekt bereitgestellt wird, wenn kein anderer Ausdruck dies ermöglicht. Oder mit anderen Worten, nur eine Möglichkeit, Foo als from_obj zum Funktionsausdruck oder zur skalaren Unterabfrage hinzuzufügen, so dass die inneren Selects das verwenden können.

    
Ilja Everilä 20.02.2017, 12:29
quelle

0 Antworten

Tags und Links