3
Comment traduire quelque chose comme ça dans SQLAlchemy?Comment puis-je ORDER BY une arithmétique expresse dans SQLAlchemy?
SELECT (a * b) - (x + y)/z AS result
FROM table
ORDER BY result
Comment traduire quelque chose comme ça dans SQLAlchemy?Comment puis-je ORDER BY une arithmétique expresse dans SQLAlchemy?
SELECT (a * b) - (x + y)/z AS result
FROM table
ORDER BY result
Il suffit de passer l'étiquette comme un argument de chaîne à order_by
:
result_exp = sqlalchemy.sql.expression.label('result',
((test2_table.c.a * test2_table.c.b)
- (test2_table.c.x + test2_table.c.y)
/test2_table.c.z))
select([result_exp], from_obj=[test2_table], order_by="result")
Utiliser 'order_by = result_exp.name' devrait également fonctionner. – kaka