sql >> Databáze >  >> RDS >> PostgreSQL

Vygenerujte sql s poddotazem jako sloupec v příkazu select pomocí SQLAlchemy

Pokud to potřebujete často a/nebo je počet nedílnou součástí vaší Tab1 modelu, měli byste použít hybridní vlastnost, jak je popsáno v jiné odpovědi. Pokud to na druhou stranu potřebujete pouze pro jeden dotaz, můžete vytvořit skalární poddotaz pomocí Query.label() nebo 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)

Poddotaz automaticky koreluje, co může z přiloženého dotazu.



  1. Jak nastavit počáteční hodnotu a automatický přírůstek v MySQL?

  2. Jak používat EXECUTE FORMAT ... POUŽÍVÁNÍ ve funkci postgres

  3. Jak funguje funkce Time() v SQLite

  4. VYMAZAT OBRAZOVKU – zástupce Oracle SQL Developer?