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 8771 게시물 읽기
No. 8771
계층구조 질의 관련입니다.
작성자
유닉스
작성일
2011-02-09 10:59
조회수
8,627

오라클 에서는 계층구조 질의 관련해서 START WITH  CONNECT BY 이런식으로 써서 레벨도 나타내고 합니다.

그런데 PostgreSQL 에서는 위방법이 통하는지요? 안되면 계층질와 레벨 관련해서 어떻게 사용을 해야하는지좀 알려주세요.

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

common table expression을 사용하면 됩니다.

대충 다음과 같은 식입니다.

with tree(id, parent_id, c, depth) as (
    select t.*, 0 depth from t where parent_id is null)
    union all
    select t.*, tree.depth+1 depth
    from tbl
    join t on (t.id = tree.parent_id)
)
select * from tree where id = 100;

 

xxx님이 2011-02-11 10:58에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
8776[급질]windows 2003 + pgsql 9.0 설치후 원격접속문제~~ [1]
박병선
2011-02-20
10508
8775자동 백업시스템을 구현하는 방법은? [1]
souler
2011-02-18
8784
8774NVL 과 COALESCE 변환관련 질문 입니다. [2]
포스팅
2011-02-16
12233
8771계층구조 질의 관련입니다. [1]
유닉스
2011-02-09
8627
8770윈도우에서 DB 설치 관련 질문입니다.
최진우
2011-02-08
8372
8766vb.net에서 pgsql의 function 호출시 파라메터값 어떻게 넣어줘야하나요? [1]
이상은
2011-01-26
9122
8765말도 안되는거 같은데, 혹시나 해서... [2]
이기자
2011-01-22
7927
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다