2012-10-22 103 views
0

我想将可变数量参数传递给sql查询。作为一个例子:将可变数量的参数传递给sql查询

select column1 
from Table  
where column2 in ('0080','0010')  
group by column1  
having count(distinct column2) >= 2 

在WHERE子句,2个参数00800010被使用。但是这个参数的数量可能会根据用户的输入而有所不同。作为一个例子可能是这样的:

select column1 
from Table  
where column2 in ('0080','0010', '0020', '0050', '0060')  
group by column1  
having count(distinct column2) >= 5 

所以,这个数量的参数是不固定的,它会在用户从.xml文件传递。

我们如何将可变数量的参数传递给查询?由于参数的数量不固定,可以随时更改,我们可以使用数组还是类似的东西?

+0

这是一个存储过程还是动态的? –

+1

您需要使用其他语言构建查询;可能与您现在阅读.XML的语言相同。 – LSerni

+1

这已被问了很多次。不修改查询是不可能的。 – GolezTrol

回答

1

我建议你尝试将参数加载到临时表中,并在子查询的where子句中使用它。特别是如果你的参数列表变得非常大,这是更具可扩展性的。