具有多列的Anorm in子句

时间:2017-03-29 15:02:25

标签: postgresql scala anorm

我想使用where in使用多列编写anorm查询。

SELECT * FROM answers
WHERE (problem_id, option) IN ((4509, 'B'), (622, 'C'), (1066, 'D'), (4059, 'A'), (4740, 'A')...)

我在pgsql中找到了解决方案,它在SQL控制台上运行良好:

Doing a WHERE IN on multiple columns in Postgresql

但是我想将它与Anorm一起使用,我找不到正确实现它的方法。

https://www.playframework.com/documentation/2.5.x/ScalaAnorm#Multi-value-support

1 个答案:

答案 0 :(得分:0)

根据我的理解,anorm只是字符串值的表格/列表。

你能让它像这样产生SQL吗?

SELECT * FROM answers WHERE row(problem_id, option) IN (row(4509, 'B'), row(622, 'C'), row(1066, 'D'), row(4059, 'A'), row(4740, 'A')...)

如果可以,那么这将解决您的多列IN运算符。