我需要从表中选择行,但我不想在查询开头(db.session.query(...)
)
例如,这里是SQL:
SELECT item_type.item_type,
purchase_transaction.transaction_date, item.purchase_transaction_id,
COUNT(item.id) as quantity
FROM item
INNER JOIN purchase_transaction ON purchase_transaction.id = item.purchase_transaction_id
INNER JOIN item_type ON item_type.id = item.item_type_id
WHERE item.purchase_transaction_id IS NOT NULL
GROUP BY item.purchase_transaction_id, item.item_type_id
ORDER BY purchase_transaction.transaction_date ASC
我想迭代item
表,但第一个column
不会来自该表。 SQLAlchemy中是否有任何等效方法?我能得到的最接近的是使用
db.session.query(models.Item.purchase_transaction_id, models.ItemType.item_type,
models.PurchaseTransaction.transaction_date,
func.count(models.Item.id)).
join(models.PurchaseTransaction, models.Item).
group_by(models.Item.purchase_transaction_id, models.ItemType.id) # not complete code
但这需要我将Item
表中的任何列作为第一列。我假设Query
SqlAlchemy将始终选择第一个参数作为FROM
表,我错了吗?其他替代解决方案是重新排列查询列