gpt4 book ai didi

python - SqlAlchemy:过滤以匹配列表中的所有值而不是任何值?

转载 作者:太空狗 更新时间:2023-10-29 21:29:37 24 4
gpt4 key购买 nike

我想查询联结表中列 aID 的值匹配 ID 列表的所有值 ids=[3,5]bID 列中.

这是我的联结表(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()

此查询返回 aID1 , 23因为它们都有行 35bID柱子。我希望查询返回的是 2因为那是唯一的 aID具有 ids 的所有值的值在其 bID 中列出专栏。

不知道如何更好地解释问题,但我怎样才能得到结果?

最佳答案

基于@Gordon Linoff 的回答和两个表 AB 其中 A 有一个关系 -to-many towards B called A.bs 等价于 SqlAlchemy 的是:

from sqlalchemy import func  
session.query(A).join(B).filter(B.id.in_(<your_list>)).group_by(A.id).having(func.count(A.bs) == len(<your_list>)).all()

关于python - SqlAlchemy:过滤以匹配列表中的所有值而不是任何值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13349832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com