从每个字段的多个值列表中选择所有可能的组合

时间:2017-11-26 21:42:52

标签: sql jpa

例如,我有一个字段为f1 f2 f3的实体。我有3个值为(1 2) (3 4) (5 6)的列表。

是否可以执行以下操作:

select e from entity where f1=? and f2=? and f3=?

但是对于列表中每个值的组合?所以,我想用值替换多个选择:

1 3 5 
1 3 6 
1 4 5 
1 4 6 
2 3 5 
2 3 6 

但在一个查询中?

1 个答案:

答案 0 :(得分:0)

是,

这是一个简单的例子:

SELECT e FROM entity WHERE f1 IN (?,?) and f2 IN (?,?) and f3 IN (?,?);
带有参数1,2,3,4,5,6

如果你有不确定数量的参数,你可以生成一个?标记数组,每个字段的参数数量正确,然后按照正确的顺序抛出它们进行绑定。