sql >> Database >  >> RDS >> Mysql

Een label gebruiken in een hebbende clausule in sqlachemy

Probeer een van de twee onderstaande versies (niet zeker of de tweede werkt op 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. FOUT 2002 (HY000):Kan geen verbinding maken met lokale MySQL-server via socket '/tmp/mysql.sock'

  2. 3 manieren om de serversortering in MariaDB te krijgen

  3. PDO-verbindingsfout bij gebruik van symfony en MAMP

  4. Oracle Pivot-query geeft kolommen met aanhalingstekens rond de kolomnamen. Wat?