Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Używanie etykiety w klauzuli posiadającej w sqlachemy

Wypróbuj jedną z dwóch poniższych wersji (choć nie jestem pewien, czy druga działa na MySQL):

rstuff = (Foo.max_stuff - db.func.sum(Bar.stuff))
qry = (
    db.session.query(
        Foo.id,
        Foo.name,
        rstuff.label('rstuff')
    )
    .join(Bar)
    .group_by(Foo.id)

    # version-1: probably universal, but repeats the expression
    .having(rstuff >= 3)
    # version-2: might depend on the RMDBS engine
    # .having(db.literal_column('rstuff') >= 3)
)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabela nie ma klucza podstawowego

  2. Wstaw tablicę do bazy danych MySQL za pomocą PHP

  3. MySQL:Nieprawidłowe dane GIS dostarczone do funkcji st_geometryfromtext

  4. Definicje schematów według DBMS

  5. Zrozumienie prostego łączenia SQL?