2016-08-10 37 views
2
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(???)。 このフォーマットで私の望むクエリを構築する方法はわかりません。sqlalchemyでサブクエリを作成する方法

答えて

3

あなたはsubquery方法でサブクエリを作成することができます

subquery = session.query(Apartments.id).filter(Apartments.postcode==2000).subquery() 
query = session.query(Residents).filter(Residents.apartment_id.in_(subquery)) 
関連する問題