我无法想象,如何将此SQL代码转换为SQLAlchemy语句:
SELECT TaskID
FROM TaskPushes p
WHERE PushToEmployeeID = 5
AND PushDate = (
SELECT TOP 1 PushDate
FROM TaskPushes
WHERE TaskID = p.TaskID
ORDER BY PushDate desc
)
不知道如何在这里使用alias并在不执行嵌套查询的情况下调用first()
。
以下是我的简化模型:
多亏了iLoop,我现在有了以下代码:
pushes_alias = aliased(TaskPush)
date_query = Query(TaskPush.date, session=self.session).filter(TaskPush.task_id == pushes_alias.task_id).\
order_by(TaskPush.date.desc()).limit(1)
employee_tasks_query = Query(pushes_alias.task_id, session=self.session).\
filter(TaskPush.push_by_employee_id == 5).\
filter(pushes_alias.date == date_query.subquery()).\
all()
哪个执行以错误结束:returned no FROM clauses due to auto-correlation
这个怎么样?在
博士,你想要^{}
另一种表述方式是使用}。在
SELECT MIN(PushDate) ...
,而不是{相关问题 更多 >
编程相关推荐