PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Генерирайте sql с подзаявка като колона в оператор select с помощта на SQLAlchemy

Ако имате нужда от това често и/или броят е неразделна част от вашия Tab1 модел, трябва да използвате хибридно свойство, както е описано в другия отговор. Ако от друга страна имате нужда от това само за една заявка, тогава можете просто да създадете скаларната подзаявка с помощта на Query.label() или 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)

Подзаявката автоматично ще съпостави това, което може от ограждащата заявка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-новите тенденции в PostgreSQL:Най-отнемащи време задачи и важни показатели за проследяване

  2. Spring Batch - Не може да се създадат таблици с метаданни на Postgres и да се заредят действителни данни в mysql

  3. Събитието ROLLBACK се задейства в postgresql

  4. Как да инсталирате PostgreSQL 12 на Fedora 33

  5. PostgreSQL – Как да елиминирате повтарящи се стойности