2016-01-16 66 views
1

我想在sqlalchemy過濾器中使用帶標籤的列。例如:如何在sqlalchemy過濾器中使用帶標籤的列?

db.session.query(
    PartMaster.name, 
    PartMaster.description, 
    PartTracker.actual_length, 
    func.sum(PartTracker.quantity).label('quantity') 
).join(PartTracker).group_by(
    PartTracker.part_master_id,PartTracker.actual_length 
).all() 

我需要結果quantity > 0。請諮詢

回答

1

在SQL中,如果要按結果過濾行,則需要使用HAVING指令。

所以你的情況:

db.session.query(
    PartMaster.name, 
    PartMaster.description, 
    PartTracker.actual_length, 
    func.sum(PartTracker.quantity).label('quantity') 
).join(PartTracker).group_by(
    PartTracker.part_master_id,PartTracker.actual_length 
).having(
    func.sum(PartTracker.quantity) > 0 
) 

來自實例doc