메뉴 표현 질문입니다. 1 3 1,555

by 손님 [2013.06.10 23:58:25]


트리구조 메뉴 화면을 보면 상단에

예를들어 home > TV > TV모델명 이런식으로 클릭해서 들어간 순서대로 화면 상단에 표시해주는데요

위와 같이 뽑아 올수 있는 쿼리를 작성하고 싶습니다.

데이터는 

menu_cd   parent_cd  menu_nm           level
1                               home                1
2               1              TV                    2
3               1              PHONE             2
4               2              TV모델명1         3
5               2              TV모델명2         3
6               3              PHONE모델명1 3
7               3              PHONE모델명2 3

이런식으로 데이터가 구성되어있습니다.

이곳저곳 찾아봤는데 답 찾기가 어렵네요. 답변부탁드립니다.
by 마농 [2013.06.11 08:07:05]

by 우리집아찌 [2013.06.11 08:52:28]
WITH T ( menu_cd , parent_cd , menu_nm , lvl ) AS (
SELECT 1, NULL, 'home',      1  FROM DUAL UNION ALL
SELECT 2, 1,   'TV',       2  FROM DUAL UNION ALL
SELECT 3, 1,   'PHONE',     2  FROM DUAL UNION ALL
SELECT 4, 2,   'TV모델명1',   3  FROM DUAL UNION ALL
SELECT 5, 2,   'TV모델명2',   3  FROM DUAL UNION ALL
SELECT 6, 3,   'PHONE모델명1',  3  FROM DUAL UNION ALL
SELECT 7, 3,   'PHONE모델명2',  3  FROM DUAL 
)
SELECT LISTAGG(MENU_NM,'>') WITHIN GROUP(ORDER BY level desc ) FROM T
 START WITH menu_cd = 4
 CONNECT BY menu_cd = PRIOR parent_cd 

by 손님 [2013.06.11 13:45:37]

강의에 있는 내용이네요.^^; 찾아보면 되는건데 급한거라 문의 올렸습니다.

답변해주신 마농님 새로운 방법도 알려주신 우리집아찌님 감사합니다.^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입