2014-09-02 3 views
1

둘 이상의 값에 대해 하위 쿼리를 확인하고 싶습니다. 위의 라인이 작동하지 않습니다여러 값에 대한 하위 쿼리 확인

... WHERE (value1 OR value2) IN ([subquery]) 

: 같은 뭔가? 이것도 가능합니까? 이 작업을 수행하는 방법?

이제 해결 방법을 사용하지만 효율적으로 보이지 않습니다.

SELECT id FROM project 
     WHERE 
     ( subcategory IN 
      (
       SELECT id 
       FROM other_table WHERE value LIKE ? 
      ) 
      OR subcategory2 IN 
      (    
       SELECT id 
       FROM other_table WHERE value LIKE ? 
      ) 
     ) 
+2

당신은 당신의 하위 쿼리의 경우에'LEFT JOIN' –

+0

을 넣어 값 1과 값 2를 사용할 수 있습니다 – Bobby

답변

1

한 가지 방법은 exists 하위 쿼리로 변환된다

where exists 
     (
     select * 
     from other_table 
     where value like ? 
       and id in (subcategory, subcategory2) 
     ) 
관련 문제