sql >> Database teknologi >  >> RDS >> PostgreSQL

Generer sql med underforespørgsel som en kolonne i select-sætning ved hjælp af SQLAlchemy

Hvis du ofte har brug for dette, og/eller optællingen er en integreret del af din Tab1 model, skal du bruge en hybrid egenskab som beskrevet i det andet svar. Hvis du på den anden side har brug for dette kun til en enkelt forespørgsel, så kan du bare oprette den skalære underforespørgsel ved hjælp af 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)

Underforespørgslen vil automatisk korrelere, hvad den kan fra den vedlagte forespørgsel.



  1. Hvordan tester man, om en streng er JSON eller ej?

  2. HikariCP - forbindelse er ikke tilgængelig

  3. Hvornår skal jeg indlejre PL/SQL BEGIN...END-blokke?

  4. Få MySQL-databaseoutput via PHP til XML