SELECT * FROM
(
SELECT
DISTINCT(A.MENU_ID)
,A.MENU_NM
,A.MENU_URL
,A.MENU_IMG
,A.MENU_UP
,B.MENU_GB
,A.MENU_SEQ
,B.USER_ID
FROM
RAY_T_MENU A
INNER JOIN RAY_T_MENUACCESS B
ON A.MENU_ID = B.MENU_ID
AND A.MENU_YN = 'Y'
START WITH B.MENU_GB = 'T'
CONNECT BY PRIOR A.MENU_ID = A.MENU_UP
) WHERE USER_ID='action1020'
제가 구성한 방식의 메뉴입니다. START WITH 라는 녀석을 알게되 사용하고자 하는데 원하는 결과를뽑기가
애매하네요. 현재 시간이 새벽3시인지라.. 여기 질문올리고 내일 출근을 위해.. 쉬어야할꺼같네요..
RAY_T_MENU 에는
MENU_ID,MENU_GB,MENU_UP,MENU_SEQ 등이 있습니다.
아이디, 메뉴구분(T- 탑, S - 서브, M - 미드 로 구분자를 넣어줍니다.) , 상위메뉴의 아이디를 기억합니다.
정렬순서를 기억합니다. ( 순서대로 설명해드린거에요 ID,GB,UP,SEQ)
그리고 MENU_ACCESS 에는 MENU_ID, MENU_GB, USER_ID 가 있습니다.
상위쿼리를 돌리니 최상위인 'T' 가 여러개여서 그런지 결과값이 제대로 안나옵니다. (제가 잘못이해한건가요?)
T - 탑
S - 서브
M - 미드
T..
..S..
.....M 식으로 나오게 하려면 어찌해야할지 고민중입니다. 고수님들의 한수부탁드립니다.
서초 초보 프로그래머......