Sequel 中多列的匹配值列表
Matching list of values on multiple columns in Sequel
给定一个带有复合主键的 table,假设 a
和 b
。如果我有一个要查询的配对列表,比如说
pairs = [[1, 1], [2, 2], [2, 1]]
如何在数据集中使用这些进行过滤?
SQL 中的结果看起来像
WHERE (a, b) IN ((1, 1), (2, 2), (2, 1))
有DB.values()
可以用来表示右侧,但我不确定如何将实际过滤到数据集中。
DB[:table].where([:a, :b]=>[[1,1], [2,2], [2,1]])
# SELECT * FROM table WHERE ((a, b) IN ((1, 1), (2, 2), (2, 1)))
给定一个带有复合主键的 table,假设 a
和 b
。如果我有一个要查询的配对列表,比如说
pairs = [[1, 1], [2, 2], [2, 1]]
如何在数据集中使用这些进行过滤?
SQL 中的结果看起来像
WHERE (a, b) IN ((1, 1), (2, 2), (2, 1))
有DB.values()
可以用来表示右侧,但我不确定如何将实际过滤到数据集中。
DB[:table].where([:a, :b]=>[[1,1], [2,2], [2,1]])
# SELECT * FROM table WHERE ((a, b) IN ((1, 1), (2, 2), (2, 1)))