选择两个列值的组合,可以有多个集合

时间:2014-12-17 06:32:02

标签: database sqlite android-sqlite

我有一个表格测试4列:

ColA ColB ColC ColD

我想写一个这样的查询:

"SELECT * FROM Test WHERE (ColA = 1 AND ColB = 'A') OR (ColA =2 AND ColB = 'B') ..."

在sqlite中使用“IN”编写此查询是否有更好的方法?

1 个答案:

答案 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;

如果搜索记录的数量非常大或逐步构建,这可能是值得的。