2014-12-17 5 views
0

여러 세트가있을 수 있습니다 거기에 sqlite에서 "IN"을 사용하여이 쿼리를 작성하는 더 좋은 방법은?내가 가진 테이블 테스트를

+0

필드에서 ** IN **을 사용할 수 있지만 결합 된 필드에서는 사용할 수 없습니다. I : .:'SELECT * FROM WHERE ColA IN (1,2,4,8,16,32,64) '에서 테스트합니다. –

+0

hmmm이 쿼리를 작성하는 유일한 방법은 무엇입니까? 이는 많은 수의 조합에 비효율적입니다. –

+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; 

이 월로 레코드의 수는 정말 큰, 또는 단계별로 구성되어 그 경우 가치가있을 수도 있습니다.