簡體   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