给定一个具有复合主键的表,例如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)))
关于ruby - Sequel 中多列的值匹配列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52816454/