我有一个表格测试4列:
ColA ColB ColC ColD
我想写一个这样的查询:
"SELECT * FROM Test WHERE (ColA = 1 AND ColB = 'A') OR (ColA =2 AND ColB = 'B') ..."
在sqlite中使用“IN”编写此查询是否有更好的方法?
答案 0 :(得分:0)
您可以使用这些值创建临时表,并使用它加入:
CREATE TEMPORARY TABLE MyLittleSearch(ColA, ColB);
INSERT INTO MyLittleSearch VALUES (1, 'A');
INSERT INTO MyLittleSearch VALUES (2, 'B');
...
SELECT * FROM Test JOIN MyLittleSearch USING (ColA, ColB);
DROP TABLE MyLittleSearch;
如果搜索记录的数量非常大或逐步构建,这可能是值得的。