我有多个列存储可以互换使用的唯一,不同的标识符。因此,我想选择Col1
或Col2
等于任何提供的参数中的任何一个的记录。我已经尝试了以下内容,以及变体IE,其中Col1 in (?, ?)
或Col2 in (?, ?)
。
SELECT * FROM Table WHERE EXISTS (Col1, Col2) IN (?, ?);
我现在可以使用以下内容实现这一点,但是,它很长而且难以处理,因为它会为我想要绑定的每个查询重复? in (Col1, Col2)
。
SELECT * FROM Table WHERE ? in (Col1, Col2) OR ? in (Col1, Col2);
最终,我的查询最多可能有1000个参数(所有参数都是唯一的),所以我想知道是否有更自然的方法来执行上述查询?
答案 0 :(得分:0)
我会调查using full-text-index tables (FTS)。您可以使用MATCH运算符指定多个搜索项。
SELECT * from Table WHERE (Col1 MATCH 'this OR that OR something')
AND (Col2 MATCH 'this OR that OR something');