1. ホーム
  2. python

[解決済み] sqlalchemyでサブクエリを作成する方法

2022-02-09 05:27:52

質問

SELECT *
FROM Residents
WHERE apartment_id IN (SELECT ID
                       FROM Apartments
                       WHERE postcode = 2000)

私はsqlalchemyを使用しており、上記のクエリを実行しようとしています。を使って生の SQL として実行することはできません。 db.engine.execute(sql) リレーションが存在しないと文句を言われるので...。しかし、このフォーマットを使ってデータベースへの問い合わせに成功しました。 session.Query(Residents).filter_by(???) . しかし、私はこのフォーマットで私の欲しいクエリを構築する方法を見つけ出すことができません。

解決方法は?

でサブクエリを作成することができます。 サブクエリ メソッド

subquery = session.query(Apartments.id).filter(Apartments.postcode==2000).subquery()
query = session.query(Residents).filter(Residents.apartment_id.in_(subquery))