join on 질문드립니다.

join on 질문드립니다.

QA

join on 질문드립니다.

본문


select m.name,c.grade,count(c.grade)
from m_member as m
join m_class as c on c.grade = m.grade 
and c.type != 'a'

이런식의 쿼리가 있는데요

 

c. type이 a가 아닌것중에 count(c.grade) 인데

 

여기서 c.type 이 a인것도 개수 출력하게 할수 있을까요?

 

ex)

이름     등급  count(type=a)  count(type !=a)

햇님반    a          30                  40

이 질문에 댓글 쓰기 :

답변 1

select m.name,c.grade
        ,sum(case when c.type = 'a' then 1 else 0 end) as count_a
        ,sum(case when c.type != 'a' then 1 else 0 end) as count_not_a
from m_member as m
join m_class as c on c.grade = m.grade

group by m.name,c.grade

 

이런 식으로 하시면 될 듯하네요.

답변을 작성하시기 전에 로그인 해주세요.
전체 1

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT