Table (MYTABLE) 에 구좌번호, 연결구좌 이런 컬럼들이 있습니다.
연결구좌는 구좌번호에 연결된 다른 구좌들입니다.
예를 들어 다음과 같이 있을때
구좌번호(A) 연결구좌(B)
1 3
1 4
1 5
2 3
3 1
3 2
3 6
4 1
5 1
6 3
이렇게 있을때 구좌번호 1에 연결된 구좌를 찾으면
3, 4, 5 가 기본으로 나오지만 구좌번호 3에게 연결구좌 2가 있기때문에
1과 2도 연결이 되고 1에 연결된 3에 또 6이 연결되어있어서
1과 6도 연결이 되게 하려고 합니다.
그래서 1 에 대한 연결구좌를 찾으면 2,3,4,5,6 이 다 나오게 하는
쿼리는 어떻게 만들어야 하나요?
예를 들기 위해서 간단하게 만든 테이블이지만 구좌번호가 몇천개 있다고
할때 구좌번호에 연결 연결 연결 되서 나올 모든 연결구좌를 다 찾아야
합니다.
오라클에서는
select distinct B from MYTABLE
start with A = 1
connect by nocycle prior B=A
하면 된다는데 MS-SQL 에서는 start with 가 아예 없다는군요. 어떻게 하면 비슷하게 가능 할까요?
|