以下是我试图在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
任何人都可以提供帮助吗?
谢谢,非常感谢
答案 0 :(得分:1)
我知道这不是你所期望的,但我只是使用SQL查询。 我使用了几个不同的ORM,我的经验是,通常不值得尝试使用类似对象的语法编写相对复杂的查询。
任何简单的操作,例如读/写记录或执行简单查询,通常都很明显且清晰,因此编写和维护它很容易。 对于更复杂的查询,您最初都会花时间转换为ORM语言并在以后花时间,需要修改它时,记住它是如何工作的,并了解它是如何被修改的。
所以我会这样做:
data = session.query(MyModel).from_statement(text(
"""
select * from
....
....
""")).params(x=a, y=b).all()