本文介绍了如何在sqlalchemy过滤器中使用带标签的列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在sqlalchemy过滤器中使用带标签的列.例如:

I want to use the labelled column in sqlalchemy filter. for eg:

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的结果.请指教

推荐答案

在SQL中,如果要按结果过滤行,则需要使用HAVING指令.

In SQL if you want to filter rows by result, you need to use HAVING instructions.

所以在您的情况下:

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

这篇关于如何在sqlalchemy过滤器中使用带标签的列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!