我正在尝试将此SQL查询转换为Flask SQLAlchemy调用:
SELECT *
FROM "ENVOI"
WHERE "ID_ENVOI" IN (SELECT d."ID_ENVOI"
FROM "DECLANCHEMENT" d
WHERE d."STATUS" = 0
AND d."DATE" = (SELECT max("DECLANCHEMENT"."DATE")
FROM "DECLANCHEMENT"
WHERE "DECLANCHEMENT"."ID_ENVOI" = d."ID_ENVOI"))
如您所见,它使用子查询,最重要的是,其中一个子查询是相关查询(它使用在外部查询中定义的d
表)。在
我知道如何将子查询与subquery()
函数一起使用,但是我找不到与SQLAlchemy相关联的查询的文档。你知道怎么做吗?在
是的,我们可以。在
请看下面的示例(尤其是
correlate
方法调用):将导致以下查询
^{pr2}$如您所见,如果您对
select
调用correlate
,则给定的Table
将不会添加到它的FROM
-子句中。 即使直接指定select_from
,也必须这样做,因为SQLAlchemy很乐意在列中添加它找到的任何表。在根据univerio评论的链接,我为我的请求编写了以下代码:
相关问题 更多 >
编程相关推荐