database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 5504 게시물 읽기
No. 5504
depth나 level 컬럼이 없는 테이블의 무한 트리 구하기...
작성자
조중규(biosensor)
작성일
2009-12-16 14:09ⓒ
2009-12-16 14:15ⓜ
조회수
6,869

제목 그대로 무한트리를 만드려고 합니다.

쉽게 추천인 개념이라고 볼수 있는데요... 데이터는 다음과 같이 들어가 있구요.

SELECT 'P1' AS child, '' AS parent -- 부모가 없는 최상위 유저
UNION
SELECT 'P2' AS child, '' AS parent -- 부모가 없는 최상위 유저
UNION
SELECT 'P3' AS child, '' AS parent -- 부모가 없는 최상위 유저
UNION
SELECT 'P4' AS child, '' AS parent -- 부모가 없는 최상위 유저
UNION
SELECT 'C0' AS child, 'P1' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C1' AS child, 'P1' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C2' AS child, 'C1' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C3' AS child, 'P4' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C4' AS child, 'C7' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C5' AS child, 'C1' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C6' AS child, 'P4' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C7' AS child, 'C2' AS parent -- 부모가 있는 하위 유저
UNION
SELECT 'C8' AS child, 'P1' AS parent -- 부모가 있는 하위 유저
ORDER BY child

위의 구성을 트리형태로 만들고 싶은데요. 최종 출력문은 XML로 출력하려고 합니다. 무한트리는 해본적이 없어서 고전하고 있네요.

읽어주셔서 감사합니다.

이 글에 대한 댓글이 총 2건 있습니다.

아무리봐도 쿼리로는 불가능한가보네요... ㅠㅠ

그냥 노드 찾아가면서 코딩으로 처리해야할듯합니다.

감사합니다.

조중규님이 2009-12-17 16:28에 작성한 댓글입니다. Edit

재귀함수,재귀쿼리를 찾아 보시면 될듯 합니다....

지나가다가님이 2009-12-18 10:44에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5511bulk insert 오류 관련 [1]
김샛별
2009-12-23
9862
5510두개의 테이블에서 결과물을 가져오는 부분에 대해 문의드립니다. [4]
박민호
2009-12-17
6443
5509버퍼 래치 유형 [1]
하홍민
2009-12-17
9081
5504depth나 level 컬럼이 없는 테이블의 무한 트리 구하기... [2]
조중규
2009-12-16
6869
5497MSSQL 2008 자동으로 백업하는 방법 문의 [3]
조현철
2009-12-11
8473
5496mssql 백업파일 복원 질문입니다. [1]
qordudwls
2009-12-11
6971
5495mssql2000 매개변수 오류
손님
2009-12-10
6069
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다