ORM:仅当表B中存在id时才从表A中选择

时间:2014-12-10 17:19:21

标签: mysql sql orm sqlalchemy

在SQLAlchemy中使用一个查询/方法,只有在表B中存在id时才从表A中选择。

我认为它在SQL

中表达如下
SELECT id, number FROM a WHERE EXISTS (SELECT id from B);

如果存在同样快或更快的替代查询,那么这些查询也很好。

1 个答案:

答案 0 :(得分:1)

请你说明你想要达到的目的是什么? 我不太确定您的SQL查询应该执行什么操作,以及SELECT id from B哪个表格是id列?

在任何情况下,如果它来自B,那么下面应该这样做:

from sqlalchemy import exists, select
q = select([A.id, A.number]).where(exists(select([B.id])))

但同样,我无法理解这个问题。