如何将两列值的数组发送到sql查询的where条件? 'in'条件中的值是可变的。请参阅下面的示例。
select *
from table_a ncjp
where
(ncjp.col_a,ncjp.col_b) in ((2855824,5),(2855824,6));
答案 0 :(得分:-2)
你可以建立一个最好的方法是创建一个函数,该函数返回该2D数组的索引上的值,所以我猜是这样的
public object getElementAt(object [] []arr, int a, b){
return arr[a,b];
}
然后你可以做
select *
from table_a ncjp
where
(ncjp.col_a,ncjp.col_b) in :x;
query.setParameter("x", getElementAt(arr,1,2));