固原站长网 MySql教程 使用sqlalchemy在where子句中使用多列进行查询

使用sqlalchemy在where子句中使用多列进行查询

我正在寻找使用sqlalchemy执行此查询.

SELECT name,age,favorite_color,favorite_food
FROM kindergarten_classroom
WHERE (favorite_color,favorite_food) IN (('lavender','lentil soup'),('black','carrot juice'));

我只想要喜欢(薰衣草和扁豆汤)或黑(胡萝卜汁)的孩子.此外,这可能是一个最喜欢的颜色和食物的大量列表(可能> 10K),所以我想要大批量做这些.

这是类似的,但不会让我一路走到那里:
Sqlalchemy in clause
最佳答案
你想要tuple_结构:

session.query(...).filter(
    tuple_(favorite_color,favorite_food).in_(
        [('lavender','carrot juice')]
    )
)

上一篇
下一篇
返回顶部