我正在尝试使用SQLAlchemy进行WHERE EXISTS
子句。 SQL看起来像这样:
SELECT
id, title
FROM
package AS package1
WHERE
EXISTS (
SELECT
title
FROM
package as package2
WHERE
package1.id <> package2.id AND
package1.title = package2.title
)
ORDER BY
title DESC;
在不使用原始SQL的情况下,是否可以在SQLAlchemy中实现此操作? 我尝试了这个方法,但似乎没有返回正确的结果:
t = model.Session.query(
model.Package.id,
model.Package.title
).subquery('t')
package = model.Session.query(
model.Package.title
).filter(
model.Package.id != t.c.id,
model.Package.title == t.c.title
)