繁体   English   中英

SQLAlchemy-将内部查询聚合到外部查询

[英]SQLAlchemy - aggregate inner query joining to outer query

以下是我在SQLAlchemy中尝试编写的查询示例,但运气不佳。 我对SQLA还是很陌生,能够转换一些查询,但是不能转换为:

select car, min(units)
from (
    select car,
    (select sum(case when side = 0 then 1 else -1 end * doors)
        from p.trades i
        where i.car = o.car and i.date = o.date
        and i.server_time <= o.server_time) units
    from p.trades o
    where date = '2016-01-19'
    and car in ('Golf')
    order by server_time, trade_id
) boff
group by car

谁能帮忙?

谢谢,非常感谢

我知道这不是您所期望的,但是我只会使用SQL查询。 我使用过几种不同的ORM,而我的经验是,通常不值得尝试使用类似对象的语法编写相对复杂的查询。

任何简单的事情,例如读/写记录或执行简单的查询,通常都是显而易见的,因此编写和维护它很容易。 对于更复杂的查询,您既会花费时间最初转换为ORM语言,又会花费时间之后(需要修改它时),以记住它的工作方式并了解如何对其进行修改。

所以我会这样做:

    data = session.query(MyModel).from_statement(text(
        """
        select * from 
          ....
          ....
        """)).params(x=a, y=b).all()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM