mysql 셀프조인을 통한 멤버수의 합계를 구하고싶습니다. 0 2 1,017

by 데이터af [MySQL] mysql 프로시저 함수 셀프조인 selfjoin [2020.08.09 19:39:34]


MEMBER

IDX MEM_GRP_IDX  MEM_UPPER_IDX  MEM_NAME MEM_ID
1 1   구루비 guri
2 2 1 구루비1 guri1
3 3 1 구루비2 guri2
4 4 2 구루비3 guri3
5 5 2 구루비4 guri4
6 6 3 구루비5 guri5
7 7 3 구루비6 guri6
8 1   구루1  
9 2 1 구루2  
10 3 1 구루3  
11 4 2 구루4  
12 5 2 구루5  
13 6 3 구루6  
14 7 3 구루7  

안녕하세요 요즘 한참 공부중인 대학생인데요 

테이블 하나를 가지고서 셀프조인을 하여서

해당 멤버를 기준으로 하위 멤버까지의 합계를 구하고 싶은데요

어려워서 질문 올립니다. ㅠㅠㅠ

현재 이렇게 생각은해봤는데요 

SELECT MEM_UPPER_IDX  
FROM MEMBER 

WHERE MEM_UPPER_IDX = (SELECT * FROM MEMBER WHERE MEMBER_GRP_IDX= 1)

이런식으로 셀프조인해서 상위 멤버에서 하위 그룹을 찾아서 가면될거 같은데

문제는 마지막 하위 그룹에 대한 합계만 구해지고 이전의 상위 그룹의 수는 구할 수가 없더라구요 ... 

재귀힘수를 만들면 될거 같기도한데,, 만들 수가 없어서 막막해서 질문 올립니다. 

꼭 함수가 아니어도 풀 수 있는 방법을 알고 싶습니다. 

 

mysql 쓰고 있습니다 ㅠㅠ 

by 우리집아찌 [2020.08.10 10:10:23]

http://www.gurubee.net/article/82164

MYSQL은 설치가 안되서 테스트 못해봤습니다.

MariaDB는 작동하니 한번 해보세요.


by 마농 [2020.08.14 11:27:59]

테이블 설계가 이상하네요.

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