我用sqlalchemy生成的查询来面对oracle错误ORA-00928: missing SELECT keyword
。这个问题已经描述过了,并回答了here。
我的查询如下所示:
WITH table2 (id) AS (
SELECT id
FROM table3
)
UPDATE table SET id=1
WHERE EXISTS (
SELECT *
FROM table
WHERE id IN (SELECT id FROM table2)
)
并通过下面的代码生成:
table2 = session.query(table3.id).cte()
update(table).where(exists().where(table.id.in_(table2))).values(id=1)
现在我想知道如何告诉sqlachemy将CTE放在WHERE
子句中,而不是放在UPDATE
之上。
UPDATE table SET id=1
WHERE EXISTS (
WITH table2 (id) AS (
SELECT id
FROM table3
)
SELECT *
FROM table
WHERE id IN (SELECT id FROM table2)
)
https://stackoverflow.com/questions/56061391
复制相似问题