오라클 Oracle SYS_CONNECT_BY_PATH |
쿼리를 짜다 보면, 어떠한 값에 연결된 순서대로 조회를 하고 싶을 경우가 있습니다.
쉽게 생각하면, 게시판의 댓글의 경우에는 쓴 시간이나, 기타 Key 값을 떠나서 댓글 자신의 원래 글 바로 아래에 오도록 하는 것이 프로그램 하기가 가장 좋은 것이죠.
그래서 오늘은 계층 별 조회 쿼리 – 즉, 연결된 값이 있을 경우 연결된 값 순서에 따라 조회가 되도록 하는 쿼리를 알아보도록 하겠습니다.
|
SEQ |
BEFOR_SEQ |
1 |
0 |
2 |
1 |
3 |
2 |
4 |
0 |
5 |
4 |
6 |
5 |
7 |
1 |
이런 모양의 테이블이 있다고 가정하겠습니다.
SEQ 는 자신의 순서 번호이며, BEFOR_SEQ 는 자신의 앞 전 SEQ 입니다.
|
SEQ |
LEVEL |
BEFOR_SEQ |
PATH |
1 |
1 |
0 |
0 |
2 |
2 |
1 |
0->1 |
3 |
3 |
2 |
0->1->2 |
7 |
2 |
1 |
0->1 |
4 |
1 |
0 |
0 |
5 |
2 |
4 |
0->4 |
6 |
3 |
5 |
0->4->5 |
이렇게 자신의 바로 앞 SEQ를 따라서 나열되게 됩니다.
※ 특정한 정렬을 원하시면 마지막에
ORDER SIBLINGS BY...
를 넣으시면 됩니다.
'IT 개발' 카테고리의 다른 글
[C#] Component One (C1) FlexGrid 컬럼(Column) 넓이(Size) 자동 설정 하기 (0) | 2014.04.10 |
---|---|
[C#] Component One (C1) FlexGrid 헤더(Header) 개수 설정 하기 (0) | 2014.04.08 |
[C#] Component One (C1) FlexGrid Cell Style (색깔 등) 정하기 (3) | 2014.03.05 |
[C#] Component One (C1) FlexGrid Cell Merge (셀 합치기) 하기 (0) | 2014.02.13 |
[오라클|Oracle] 조회된 값에 대한 조건 걸기 - CASE...WHEN...THEN (0) | 2013.12.25 |