쿼리 WHERE절 도움 부탁드립니다 0 1 880

by 쿼리초보 [2022.11.02 10:51:43]



WITH EXAMPLE AS
(
 SELECT 'NO1' AS ID , '1' AS VAL FROM DUAL UNION 
 SELECT 'NO1' AS ID , '2' AS VAL FROM DUAL UNION
 SELECT 'NO1' AS ID , '3' AS VAL FROM DUAL UNION
 SELECT 'NO2' AS ID , '1' AS VAL FROM DUAL UNION
 SELECT 'NO2' AS ID , '2' AS VAL FROM DUAL UNION
 SELECT 'NO3' AS ID , '1' AS VAL FROM DUAL   
)
SELECT * FROM EXAMPLE

VAL 이 1,2 만 가지고 있는데이터 
즉 ID가 NO2만 가져오고싶습니다
(NO1 은 VAL 이 3이 있어서 검색되면 안됩니다, NO3은 1만있고 2가 없어서 검색되면 안됩니다. )  

WHERE 절을 어떻게 해야할까요? OR은 쉬운데 AND로 거니까 데이터가 안나오고  
단순해 보이는데 어렵네요 

조언좀 해주세요 감사합니다..

by 마농 [2022.11.02 10:58:40]
WITH example AS
(
SELECT 'NO1' id, '1' val FROM dual
UNION ALL SELECT 'NO1', '2' FROM dual
UNION ALL SELECT 'NO1', '3' FROM dual
UNION ALL SELECT 'NO2', '1' FROM dual
UNION ALL SELECT 'NO2', '2' FROM dual
UNION ALL SELECT 'NO3', '1' FROM dual
)
SELECT id
  FROM example
 GROUP BY id
HAVING MIN(val) = '1'
   AND MAX(val) = '2'
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입