데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요... 허접한 지식으로 늘 질문만 드리는 학생입니다..
이런 테이블이 있습니다..
Num Kind
-------------------
1 A
1 B
2 A
2 B
3 A
4 A
보시면 1번과 2번은 A B 둘다 가지고 있는데
3번과 4번은 A만 있습니다.
제가 원하는 결과는 3번과 4번을 추려내는 건데요..
그룹을 지어서 카운트를 내면 안되는게.. 사실 C 나 D 도 간혹 섞여 있어서
"딱 B가 없는것들" 이렇게 검색해야 합니다..
방법이 있을가요? ㅜ.ㅜ
Comment 1
-
여우비™
2013.09.13 16:39
kind 종류가 적을 경우
SELECT Num
, SUM(CASE WHEN Kind = 'A' THEN 1 ELSE 0 END) AS A
, SUM(CASE WHEN Kind = 'B' THEN 1 ELSE 0 END) AS B
, SUM(CASE WHEN Kind = 'C' THEN 1 ELSE 0 END) AS C
, SUM(CASE WHEN Kind = 'D' THEN 1 ELSE 0 END) AS D
FROM 테이블명
GROUP BY Num
HAVING SUM(CASE WHEN Kind = 'B' THEN 1 ELSE 0 END) = 0
으로 결과를 얻을 수는 있습니다. ;;