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
운영게시판
최근게시물
Sybase Q&A 1437 게시물 읽기
No. 1437
Recursive 쿼리는 어떻게 해야하나요?
작성자
하롱(longnet)
작성일
2006-02-14 17:10ⓒ
2006-02-14 17:14ⓜ
조회수
4,481

오라클만 사용해오다가... 몇일전부터 sybase를 하기 시작했습니다.

그런데... 오라클의 recursive query와 같은 쿼리가 급히 필요한데..

혹시 sybase에서는 어떻게 해야하나요.

 

예를 들어 테이블의 컬럼이

 

menu_id

parent_menu_id

menu_name

menu1 1단메뉴-1
menu2 1단메뉴-2
menu11 menu1 2단메뉴-11
menu12 menu1 2단메뉴-12
menu21 menu2 2단메뉴-21
menu111 menu11 3단메뉴-111


......

 

요런식으로 데이터가 들어가 있을경우 오라클의 경우는, connect by~ start with~ 구문을 이용하면

root에서 leaf까지..또는 반대로 leaf에서 root까지 순차적으로 찾아줍니다.

sybase에서는 어떻게 하면 될까요?

쿼리가 있었으면 좋겠어요~

이상 sybase 왕초보였습니다.

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

896번 참조 하심 될것같네요

지연님이 2006-02-15 11:50에 작성한 댓글입니다. Edit

896번 게시물을 찾아봤는데...무슨 한글깨짐 관련 물음이던데요...

번호를 잘못 말씀해주신것 같아요..

다시 한번 알려주세요 ^^

하롱님이 2006-02-15 13:43에 작성한 댓글입니다. Edit

이렇게 테스트 해봤네요.

 

create table menu
(
menu_id char(10) null,
parent_menu_id char(10) null,
menu_name char(20) null
)

insert into menu values ('menu1',null,'1단메뉴-1')
insert into menu values ('menu2',null,'1단메뉴-2')
insert into menu values ('menu11','menu1','2단메뉴-11')
insert into menu values ('menu12','menu1','2단메뉴-12')
insert into menu values ('menu21','menu2','2단메뉴-21')
insert into menu values ('menu111','menu11','3단메뉴-111')


select * from menu

select
 a.menu_name as "1단메뉴",
 b.menu_name as "2단메뉴",
 c.menu_name as "3단메뉴"
from menu a left outer join menu b
on (a.menu_id = b.parent_menu_id)
left outer join menu c
on (b.menu_id = c.parent_menu_id)
where  a.menu_id like 'menu[1-9]'
and b.menu_id like 'menu[1-9][1-9]'

 

결과

1단메뉴            2단메뉴            3단메뉴

===========================================

1단메뉴-1         2단메뉴-11        3단메뉴-111     
1단메뉴-1         2단메뉴-12        
1단메뉴-2         2단메뉴-21        

 

결과가 원하는 거와 같은지 모르겠네요.

존넘님이 2006-02-15 17:19에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1440out of LOCKS 문제.. [1]
허남훈
2006-02-15
4482
1439필드값을 전부 곱하려면. [4]
궁금
2006-02-15
3590
1438sybase trigger 쿼리 에러 문의 [2]
최종환
2006-02-14
4649
1437Recursive 쿼리는 어떻게 해야하나요? [3]
하롱
2006-02-14
4481
1436원격 연결관련 질문입니다. [1]
이민규
2006-02-14
3752
1435Java Service 에러 [1]
김기택
2006-02-13
3604
1434다운로드... [1]
김철
2006-02-10
4043
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다