두개의 조건을 동시에 만족 하는 값을 조회하고 싶습니다(도와주세요) 0 4 1,796

by 일곱난장이 [SQL Query] AND 두개조건 [2023.06.20 08:04:36]


안녕하세요, 고수님들의 도움을 바랍니다

A창고 비품1
비품2
비품3
B창고 비품1
비품2
C창고 비품2
비품3
비품4
비품5

1조건 : 비품1  있는 창고 

      : 결과 -> A창고, B창고

2조건 : 비품1 AND 비품3  둘다 있는 창고

     : 결과 -> A창고

2번 조건에서 잘 안풀리네요....

고수님들 부탁드립니다~~~

 

by 닭뇌 [2023.06.20 08:59:59]
WITH TMP AS (
SELECT 'A창고' "창고", '비품1' "비품" FROM DUAL UNION ALL
SELECT 'A창고' "창고", '비품2' "비품" FROM DUAL UNION ALL
SELECT 'A창고' "창고", '비품3' "비품" FROM DUAL UNION ALL
SELECT 'B창고' "창고", '비품1' "비품" FROM DUAL UNION ALL
SELECT 'B창고' "창고", '비품2' "비품" FROM DUAL UNION ALL
SELECT 'C창고' "창고", '비품2' "비품" FROM DUAL UNION ALL
SELECT 'C창고' "창고", '비품3' "비품" FROM DUAL UNION ALL
SELECT 'C창고' "창고", '비품4' "비품" FROM DUAL UNION ALL
SELECT 'C창고' "창고", '비품5' "비품" FROM DUAL
)
SELECT 창고
  FROM TMP
 WHERE 비품 IN ('비품1', '비품3')
 GROUP BY 창고
HAVING COUNT(DISTINCT 비품) = 2;

 


by 마농 [2023.06.20 10:04:42]

중복이 없다면? DISTINCT 는 빼도 됩니다.
중복이 있다면? DISTINCT 필요.


by 닭뇌 [2023.06.20 10:42:52]

앗..옙..마농님 조언 감사합니다...^^


by 일곱난장이 [2023.06.20 10:45:22]

역시~~마농님 감사합니다~~~

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