칼퇴족sql 186p 이해가 안가요

2023.11.06 12:35

dobam 조회 수:3539

186p 예제1번입니다.

select case when o.ssn is not null

then 'o' else 'x' end as cc_holder, 

sum(case when o.ssn is not null then 1 else -1 end) as cnt 

from cust_party cust left outer join ( 

select distinct ssn 

from o_acct 

where close_dt is null and cc_grade in ('1', '2') 

) o.on cust.ssn = o.ssn group by 1; 


+-----------+------+

| cc_holder | cnt  |

+-----------+------+

| o         |    2 |

| x         |    0 |

+-----------+------+


mysql사용합니다.

제가 이해를 잘 못한건지 db가 달라서 그런건지 저는 이렇게 나오는게 맞다고 보는데 

책에 실행 예제는 

+-----------+------+

| cc_holder | cnt  |

+-----------+------+

| o         |    2 |

| x         |    7 |

+-----------+------+

이렇게 나옵니다. 

제가 이해하기로는  

sum(case when o.ssn is not null then 1 else 0 end) as cnt 

0은 더해도 0이니깐 0이 나와야지 7이 나오는게 이해가 안되네요 ㅎㅎ..

(차(영어)가 금지어라 'o'로 적었어요)

댓글 0

문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
 
목록
번호 제목 글쓴이 날짜 조회 수
» 칼퇴족sql 186p 이해가 안가요 dobam 2023.11.06 3539