맨위에 sum이 나오게....?? 0 4 1,610

by 송미진 [2007.08.09 17:25:59]


안녕하세요? 비가 오락가락 많이 오네요...^^

하늘이 미쳤나봐요..구멍이 뚫렸나...?? ㅎㅎ

질문이요~~

 

=====================

부서  인원

=====================

A        6

AA      1

AB      2

AC      3

=====================

 

이렇게 데이타가 나올때 AA+AB+AC 한 값을 A에 인원에 넣을 수가 있나요?

저게 A가 부서이고 AA,AB,AC는 그 부서의 하위 팀이거든요.

각팀별로 인원수를 COUNT해서 넣고 각팀의 인원수를 합한 값을

맨 위의 A라는 부서의 인원에 넣어야하는데...

현재는 A부서의 인원이 0으로 나오거든요....

저렇게 나오게 할 수 있는 방법을 가르쳐 주세요~~

by finecomp [2007.08.09 00:00:00]
방법이야 많겠지만
애초에 SELECT할 때, 상위부서까지 가져오면 간단하겠군요.
조직 데이터 구조가 어찌 되었는지 알 수 없으니 쿼리는 직접 만드시길...;

중간결과가
상위부서, 부서, 인원으로 나오게 한뒤,
이 결과를 GROUP BY ROLLUP(상위부서, 부서)
해 보세요...;

건승하시길...수고하세요~~

by 송미진 [2007.08.09 00:00:00]
부서 코드가 저렇게 되어있어요..
A가 최상위부서이고 AA가 그 부서에 속한 팀이죠.
AAA면 AA에 속한 그룹이구요.
즉 A>AA>AAA 이런 포함 관계에요.
그래서 데이타를 뽑으면
=====================
부서 인원
=====================
A 0
AA 1
AB 2
AC 3
=====================
이렇게 나와요.
제가 원하는건
=====================
부서 인원
=====================
A 6
AA 1
AB 2
AC 3
=====================
이렇게 위에 설명한대로 나오길 바라는건데요..
답변해주신대로 해보니...
잘 안되요...ㅜㅜ
서브스트링으로 A를 뽑은뒤에 상위부서로 앞에 넣어주고 롤업했는데 데이타 로우수가 늘어나면서 우너하는대로 안되더라구요..
ㅠㅠ...제가 무얼 잘못했는지...
알려주세요..

by 강정식 [2007.08.09 00:00:00]
해당 데이터가 들어있는 테이블의 샘플 데이터를 보여주시면 이해하는데 좀 더 수월할 것 같네요.
올려주시면 이곳에 계신 여러 고수님들의 도움을 받으실 수 있으실 겁니다.

by 마농 [2007.08.10 00:00:00]
SELECT a.부서코드 부서, COUNT(b.사번) 인원
FROM 부서 a, 사원 b
WHERE b.부서코드(+) LIKE a.부서코드||'%'
GROUP BY a.부서코드
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입