包含多个选项的SQL参数化查询

时间:2015-10-11 07:41:54

标签: sql vb.net sqlite

我想写一个查询

Select col1, col2 
from table 
where col1 = 'blah' or 'blah2' or 'blah3' 
  and col2 = 'blah' or 'blah2' or 'blah3'

我习惯于像这样写一个单选项

select 
    col1, col2 
from 
    table 
where 
    col1 = :col1 and col2 = :col2

Parameters.AddWithValue(":col1", 'blah')
Parameters.AddWithValue(":col2", 'blah')

现在我想在它们之间添加OR的几个选项,显然上面的代码不起作用。 SQL适用于SQLite。任何人都可以建议我怎么做到这一点?我可能对每个参数有超过3个不同的值。我试过搜索,但答案难以捉摸。

1 个答案:

答案 0 :(得分:3)

您仍然需要使用完整的表达式,即每次都需要写col1 =col2 =

替代方案,请使用IN

SELECT ... WHERE col1 IN (:c11, :c12, :c13) AND col2 IN (:c21, :c22, :c23);