本文介绍了如何在sqlalChemical中生成子查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
SELECT *
FROM Residents
WHERE apartment_id IN (SELECT ID
FROM Apartments
WHERE postcode = 2000)
我正在使用sqlalChemy并尝试执行上面的查询。我一直无法使用db.engine.execute(sql)
将其作为原始SQL执行,因为它抱怨我的关系不存在.但是我使用以下格式成功地查询了我的数据库:session.Query(Residents).filter_by(???)
。
不过,我想不出如何使用此格式构建我想要的查询。
推荐答案
可以使用subquery方法创建子查询
subquery = session.query(Apartments.id).filter(Apartments.postcode==2000).subquery()
query = session.query(Residents).filter(Residents.apartment_id.in_(subquery))
这篇关于如何在sqlalChemical中生成子查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!