sql >> Databasteknik >  >> RDS >> PostgreSQL

Generera sql med subquery som en kolumn i select-satsen med SQLAlchemy

Om du behöver detta ofta och/eller räkningen är en integrerad del av din Tab1 modell, bör du använda en hybridegenskap som beskrivs i det andra svaret. Om du å andra sidan behöver detta bara för en enda fråga, kan du bara skapa den skalära underfrågan med Query.label() , eller Query.as_scalar() :

count_stmt = session.query(func.count(1)).\
    filter(Tab2.tab1_id == Tab1.id).\
    group_by(Tab2.col1).\
    label('cnt')

session.query(Tab1, count_stmt).filter(...).limit(100)

Underfrågan kommer automatiskt att korrelera vad den kan från den bifogade frågan.



  1. Hur man returnerar alla inaktiverade främmande nyckelbegränsningar i SQL Server (T-SQL-exempel)

  2. Hur grupperar jag på kontinuerliga intervall

  3. Byt namn på en kolumn i SQL Server (T-SQL)

  4. NLS_CHARSET_NAME() Funktion i Oracle