カラムaID
の値の接合テーブルを照会して、bID
のID番号リストids=[3,5]
のすべての値に一致させたいとします。SqlAlchemy:リスト内の値の代わりにすべて一致するフィルタ?
これは私のジャンクションテーブル(JT
)です:
aID bID
1 1
1 2
2 5
2 3
1 3
3 5
私はこのクエリを持っている:session.query(JT.aID).filter(JT.bID.in_(ids)).all()
このクエリはaID
値1
、2
と3
を返します彼らはすべての3
かのいずれかで行を持っているので、 bID
列の5
。クエリを返すのが2
であるのは、そのbID
列にids
リストのすべての値を持つ唯一のaID
値であるためです。
問題をよりうまく説明する方法がわかりませんが、どうすれば結果に到達できますか?
私は、おそらく一般的な 'sql'タグ用のタグの一つを交換でしょう、これは実際には、一般的なSQLクエリの問題、あなたが改善するだろうという方法ですので、あなたの質問の可視性。 –