본문 바로가기
기타

두개의 조건을 한번에 쿼리하기 - case when

by zgabriel 2025. 5. 12.
728x90

 

Mysql 에서 두 개의 select  문의 조건을 한번의 쿼리에서 확인하려면

 

case when 을 사용해야한다. 

 

아래는 두개의 조건을 비교해서 조건이 맞으면 true를 틀리면 false 를 리턴하는 쿼리이다.

 

* 조건 -------------------------------------------------------

 

 1. select count(idx) from test where mode='I' and key='1234' 

   -> 결과 값이 1일 경우

 

 2. select count(idx) from test where mode='U' and key='1234'

   -> 결과 값이 0일 경우

 

* 쿼리 -------------------------------------------------------

 

  SELECT 
    CASE WHEN

        (SELECT COUNT(*) FROM test WHERE mode = 'I' and key='1234'  ) > 0  AND

        (SELECT COUNT(*) FROM test WHERE mode = 'U' and key='1234'  ) = 0 
        THEN 'ture' ELSE 'false'
    END AS result;