Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Usando um rótulo em uma cláusula tendo em sqlachemy


Tente qualquer uma das duas versões abaixo (não tenho certeza se a segunda funciona no 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)
)