Tree Menu
WITH TREE_MENU AS (
SELECT
MENU_ID
, PARENT_ID
, MENU_NAME
, DEPTH
, SORT
, CONVERT(VARCHAR(100), MENU_ID) GROUP_ID
, CONVERT(VARCHAR(100), MENU_NAME) TREE_MENU_NAME
FROM MENU
WHERE PARENT_ID = ''
UNION ALL
SELECT
B.MENU_ID
, B.PARENT_ID
, B.MENU_NAME
, B.DEPTH
, B.SORT
, CONVERT(VARCHAR(100), CONVERT(VARCHAR, C.GROUP_ID) + ' > ' + CONVERT(VARCHAR(100), B.SORT)) FULL_MENU_ID
, CONVERT(VARCHAR(100), CONVERT(VARCHAR, C.TREE_MENU_NAME) + ' > ' + CONVERT(VARCHAR(100), B.MENU_NAME)) TREE_MENU_NAME
FROM MENU B, TREE_MENU C
WHERE B.PARENT_ID = C.MENU_ID
)
SELECT
MENU_ID
, PARENT_ID
, MENU_NAME
, DEPTH
, SORT
, GROUP_ID
, TREE_MENU_NAME
FROM TREE_MENU
ORDER BY
GROUP_ID ASC

목록