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
운영게시판
최근게시물
MS-SQL Q&A 7187 게시물 읽기
No. 7187
계층형 구조에서 최상위노드 값 찾기 문의
작성자
k62511(k62511)
작성일
2019-09-17 18:10ⓒ
2019-09-17 18:11ⓜ
조회수
1,933

안녕하세요 계층형 쿼리에서 최상위값을 구하고싶습니다.

아래와 같이 데이터가 구성되어있습니다.

 

MENU_NO  UPPER_MENU_NO  MENU_NM  DEPTH
9000000 0 시스템관리 0
9010100 9000000 메뉴관리 1
9010200 9000000 권한관리 1
9010210 9010200 권한관리-탭1 2
9010220 9010200 권한관리-탭2 2

 

최상위 메뉴의 메뉴값이 0일때 아래와같이 별도로 최상위 값을 한컬럼으로 조회시키고 싶은데 어떻게 짜야할지 모르겠네요..

MSSQL  2014버전을 사용중입니다.

 

 

root MENU_NO  UPPER_MENU_NO  MENU_NM  DEPTH
0 9000000 0 시스템관리 0
0 9010100 9000000 메뉴관리 1
0 9010200 9000000 권한관리 1
0 9010210 9010200 권한관리-탭1 2
0 9010220 9010200 권한관리-탭2 2

 

현재 사용중인 쿼리인데 어느부분을 추가해주어야 할까요..

 

             WITH SEARCH_MENU (MENU_NO, UPPER_MENU_NO, MENU_NM, DEPTH)

AS (

SELECT MENU_NO, UPPER_MENU_NO, MENU_NM, 0

FROM COM_MENU

WHERE MENU_NO != 0

AND UPPER_MENU_NO = 0

UNION ALL

SELECT M.MENU_NO, M.UPPER_MENU_NO, M.MENU_NM, DEPTH + 1

FROM TEST_MENU M, SEARCH_MENU S

WHERE S.MENU_NO = M.UPPER_MENU_NO

AND S.MENU_NO != 0

)

select * from SEARCH_MENU

order by MENU_NO
 

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

WITH SEARCH_MENU (root, MENU_NO, UPPER_MENU_NO, MENU_NM, DEPTH) AS -- 요기
(
SELECT UPPER_MENU_NO AS root    -- 요기
     , MENU_NO
     , UPPER_MENU_NO
     , MENU_NM
     , 0 DEPTH
  FROM COM_MENU
 WHERE MENU_NO != 0
   AND UPPER_MENU_NO = 0
 UNION ALL
SELECT S.root    -- 요기
     , M.MENU_NO
     , M.UPPER_MENU_NO
     , M.MENU_NM
     , DEPTH + 1 DEPTH
  FROM TEST_MENU   M
     , SEARCH_MENU S
 WHERE S.MENU_NO = M.UPPER_MENU_NO
   AND S.MENU_NO != 0
)
select * from SEARCH_MENU
order by MENU_NO
;

마농(manon94)님이 2019-09-18 09:02에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7191스페이스 문자 인식을 못할때가 있어요. [1]
바람날개
2019-10-03
1782
7190select 내용 동적으로 변경
DB초보
2019-09-23
1809
7189【급급급】초보입니다. 쿼리문 도와주세요.. [2]
추노
2019-09-22
1936
7187계층형 구조에서 최상위노드 값 찾기 문의 [1]
k62511
2019-09-17
1933
7186mssql 역할권한에 대한 질문입니다
조치만
2019-09-16
1606
7185TRY_CONVERT 사용시 오류
db
2019-09-16
1742
7184mssql 판매 관련해서
박재헌
2019-09-06
1696
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다