当前位置: 首页 > 面试题库 >

使用sqlalchemy来查询使用多列的in子句

顾乐心
2023-03-14
问题内容

我正在寻找使用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子句


问题答案:

您需要tuple_构造:

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


 类似资料:
  • 问题内容: 我正在寻找使用sqlalchemy执行此查询。 我只想要喜欢(薰衣草和扁豆汤)或(黑胡萝卜汁)的孩子。另外,这可能是大量喜欢的颜色和食物的列表(可能> 10K),因此,我想分批进行。 问题答案: 您需要构造:

  • 我有一个和这个问题很相似的问题。 我正在从表1中为表2中的字段3和字段4的所有匹配唯一组合选择所有数据。 我希望我的where子句类似于: 但这是Hibernate不允许的。 我已经尝试推出where子句,使其具有两个子查询,并根据结果检查field1和field2,但似乎子查询总是必须返回多列。我使用group by完成了这个操作,但是Hibernate会自动将group by中的列添加到投影列

  • 问题内容: 有没有一种方法可以使SQLAlchemy使用自定义列生成查询,该自定义列是与当前行相关的子查询: 使用ORM API? 我正在使用PostgreSQL 9.3和旧版本的SQLAlchemy 0.9.8 问题答案: 如果您经常需要这样做,并且/或者计数是模型不可或缺的一部分,则应该使用混合属性,如其他答案中所述。另一方面,如果只需要一个查询就可以使用,则可以使用或创建标量子查询: 子查询

  • 问题内容: 我们正在尝试为本地sql查询动态生成IN子句以返回JPA实体。Hibernate是我们的JPA提供程序。我们的代码看起来像这样。 这是行不通的,in子句无法识别通过这种方式传入的任何值。有谁知道解决这个问题的方法吗? 问题答案: 在您的情况下,JPA支持命名列表参数:

  • 您可以看到,子查询中没有使用协议实体路径a1的别名,而是被协议实体路径A2的别名所取代。在querydsl中还需要做一些其他的事情才能生成这个查询吗?

  • 关于子查询使用 利用子查询进行过滤 列出够物品RGAN01的所有客户。 检索包含物品RGAN01的所有订单编号。 检索具有前一步骤列出的订单编号所有客户ID。 检索前一步骤返回的所有客户ID的客户信息。 mysql> SELECT order_num -> FROM OrderItems -> WHERE prod_id = 'RGAN01'; +-----------+ | or