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
운영게시판
최근게시물
PostgreSQL Q&A 3741 게시물 읽기
No. 3741
트리쿼리
작성자
써니
작성일
2001-12-17 17:40
조회수
1,627

리커시브구조 쿼리를 하려고 합니다.

 

CREATE TABLE PROGRESS (

CHILD_ID INTEGER, //자식아이디

NAME CHAR(10), //자식명

MOTHER_ID INTEGER, //부모아이디

LEVEL INTEGER); //단계

 

INSERT INTO PROGRESS VALUES (1,'A',null , 1);

INSERT INTO PROGRESS VALUES (2, 'B1', 1, 2);

INSERT INTO PROGRESS VALUES (3, 'B2', 1, 2);

INSERT INTO PROGRESS VALUES (4, 'C1', 2, 3);

 

INSERT INTO PROGRESS VALUES (5,'E',null , 1);

INSERT INTO PROGRESS VALUES (6, 'F1', 5, 2);

INSERT INTO PROGRESS VALUES (7, 'G1', 6, 3);

 

 

select n1.name as "MOTHER", n2.name as "CHILD", n2.level

from PROGRESS n1, PROGRESS n2

where n1.CHILD_ID = n2.MOTHER_ID

 

MOTHER | CHILD | level

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

A | B1 | 2

A | B2 | 2

B1 | C1 | 3

E | F1 | 2

F1 | G1 | 3

 

이렇게 데이터가 나옵니다. 덩어리끼리 하나씩 묶어서 이렇게 나오는

것은 맞은데요. A와 E의 순서를 바꾸려면(덩어리 순서를 정렬하려면) 어떻게 하는건가요??

그리고 이 쿼리는 불안한 쿼리인것 같아요?? 쿼리데이터가 흔들리거든요..

 

함수나 프로시져로 리커시브 쿼리하는 예제없을까요??

 

많은 성원 부탁드립니다.

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

의미를 정확히 모르겠습니다.

 

저가 이해를 못하는 부분은 A 와 E 의 나오는 순서를 바꾸고자 하는 이유는 뭔가요. 뭔가 특정한 순서대로 소팅을 하길 원하는 것인가요.

 

그리고 퀄리 데이터가 흔들거린다는 것은 또 어떤 의미인가요?

정재익(advance)님이 2001-12-17 22:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3745[질문]WORK,TRANSACTION
김철환
2001-12-18
1320
3748┕>Re: [질문]WORK,TRANSACTION
정재익
2001-12-18 13:16:29
1431
3744createuser 에러 [6]
김병주
2001-12-17
1946
3742APM설치, 사용도중에 Pgsql 설치하면... [1]
mong2
2001-12-17
1531
3741트리쿼리 [1]
써니
2001-12-17
1627
3738[왕왕초보]테이블에서
김영진
2001-12-15
1291
3739┕>Re: [왕왕초보]테이블에서
정재익
2001-12-15 20:15:58
1380
3733상속에 대한 재미있는 사실...
김대성
2001-12-13
1541
3734┕>Re: 상속에 대한 재미있는 사실...
김상기
2001-12-14 08:32:45
1546
3732상속때문에 문제 여쭙니다 [3]
김대성
2001-12-13
1483
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.035초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다