쿼리문의 0 3 313

by 댕큐 [MySQL] [2019.09.18 13:18:55]


안녕하세요

DB 실력이 아직 부족한 개발자입니다.

 

작성중인 SQL 질문이 있는데요

 

테이블 A 에 필드가 

ID

ID KIND
1 A
1 A
1 B
2 A

 

ID 2에는 B라는 KIND 가 없는데요

위처럼 테이블 전체ROW에서 KIND B 가 없고 A 라는 KIND 만 가지고있는 ID 를 추출하려면 어떻게 작성하면 될까요?

답변 부탁드립니다. 

좋은하루 되세요

 

by jkson [2019.09.18 13:32:01]

select id 
  from (
        select '1' id, 'A' kind union all
        select '1' id, 'A' kind union all
        select '1' id, 'B' kind union all
        select '2' id, 'A' kind
       ) t
 group by id
having count(case when kind = 'A' then 1 else null end) >= 1
   and count(case when kind = 'B' then 1 else null end) = 0

by 댕큐 [2019.09.18 13:50:03]

감사합니다


by 마농 [2019.09.18 14:53:37]
SELECT id
  FROM t
 GROUP BY id
HAVING MAX(kind) = 'A'
;

 

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