쿼리 수정 보충.
parent
a32565bd83
commit
8313c57024
|
|
@ -50,40 +50,45 @@
|
||||||
BOARD_ID,
|
BOARD_ID,
|
||||||
WINDOW_TARGET
|
WINDOW_TARGET
|
||||||
) as (
|
) as (
|
||||||
select
|
select
|
||||||
1,
|
1,
|
||||||
M.ID, M.NAME, M.ENG_NAME, M.PARENT, M.DEPTH,
|
M.ID, M.NAME, M.ENG_NAME, M.PARENT, M.DEPTH,
|
||||||
M.MENU_POSITION, M.VISIBLE, M.SUB_VISIBLE, M.ROLE_LEVEL,
|
M.MENU_POSITION, M.VISIBLE, M.SUB_VISIBLE, M.ROLE_LEVEL,
|
||||||
M.URL_GROUP,
|
COALESCE(M.URL_GROUP, c.URL_GROUP) AS URL_GROUP,
|
||||||
M.URL,
|
COALESCE(M.URL, c.URL) AS URL,
|
||||||
M.URL_QUERY,
|
COALESCE(M.URL_QUERY, c.URL_QUERY) AS URL_QUERY,
|
||||||
M.BOARD_ID,
|
COALESCE(M.BOARD_ID, c.BOARD_ID) AS BOARD_ID,
|
||||||
M.WINDOW_TARGET
|
COALESCE(M.WINDOW_TARGET, c.WINDOW_TARGET) AS WINDOW_TARGET
|
||||||
FROM T_MENU M
|
FROM T_MENU M left outer join (select id, parent, url_group, url, url_query, board_id, window_target
|
||||||
WHERE M.VISIBLE = 'Y'
|
from t_menu a
|
||||||
AND M.ROLE_LEVEL >= COALESCE((SELECT ROLE_LEVEL FROM T_SSO_AUTH_CODE AC, TAGENT A WHERE AC.CODE_ID = A.USEGRADE AND A.USERID = #{userId}), 17)
|
where a.id in (select min(id) id
|
||||||
AND M.MENU_POSITION = #{menuPosition}
|
from t_menu
|
||||||
AND M.DEPTH = 0
|
group by parent )) c
|
||||||
|
on m.id = c.parent
|
||||||
|
WHERE M.VISIBLE = 'Y'
|
||||||
|
AND M.ROLE_LEVEL >= COALESCE((SELECT ROLE_LEVEL FROM T_SSO_AUTH_CODE AC, TAGENT A WHERE AC.CODE_ID = A.USEGRADE AND A.USERID = #{userId}), 17)
|
||||||
|
AND M.MENU_POSITION = #{menuPosition}
|
||||||
|
AND M.DEPTH = 0
|
||||||
union all
|
union all
|
||||||
select
|
select
|
||||||
b.level+1,
|
b.level+1,
|
||||||
M.ID, M.NAME, M.ENG_NAME, M.PARENT, M.DEPTH,
|
M.ID, M.NAME, M.ENG_NAME, M.PARENT, M.DEPTH,
|
||||||
M.MENU_POSITION, M.VISIBLE, M.SUB_VISIBLE, M.ROLE_LEVEL,
|
M.MENU_POSITION, M.VISIBLE, M.SUB_VISIBLE, M.ROLE_LEVEL,
|
||||||
COALESCE(M.URL_GROUP, c.URL_GROUP) AS URL_GROUP,
|
COALESCE(M.URL_GROUP, c.URL_GROUP) AS URL_GROUP,
|
||||||
COALESCE(M.URL, c.URL) AS URL,
|
COALESCE(M.URL, c.URL) AS URL,
|
||||||
COALESCE(M.URL_QUERY, c.URL_QUERY) AS URL_QUERY,
|
COALESCE(M.URL_QUERY, c.URL_QUERY) AS URL_QUERY,
|
||||||
COALESCE(M.BOARD_ID, c.BOARD_ID) AS BOARD_ID,
|
COALESCE(M.BOARD_ID, c.BOARD_ID) AS BOARD_ID,
|
||||||
COALESCE(M.WINDOW_TARGET, c.WINDOW_TARGET) AS WINDOW_TARGET
|
COALESCE(M.WINDOW_TARGET, c.WINDOW_TARGET) AS WINDOW_TARGET
|
||||||
FROM T_MENU M inner join menu b on M.parent = b.id
|
FROM T_MENU M inner join menu b on M.parent = b.id
|
||||||
left outer join (select id, parent, url_group, url, url_query, board_id, window_target
|
left outer join (select id, parent, url_group, url, url_query, board_id, window_target
|
||||||
from t_menu a
|
from t_menu a
|
||||||
where a.id in (select min(id) id
|
where a.id in (select min(id) id
|
||||||
from t_menu
|
from t_menu
|
||||||
group by parent )) c
|
group by parent )) c
|
||||||
on m.id = c.parent
|
on m.id = c.parent
|
||||||
where M.VISIBLE = 'Y'
|
where M.VISIBLE = 'Y'
|
||||||
AND M.ROLE_LEVEL >= COALESCE((SELECT ROLE_LEVEL FROM T_SSO_AUTH_CODE AC, TAGENT A WHERE AC.CODE_ID = A.USEGRADE AND A.USERID = #{userId}), 17)
|
AND M.ROLE_LEVEL >= COALESCE((SELECT ROLE_LEVEL FROM T_SSO_AUTH_CODE AC, TAGENT A WHERE AC.CODE_ID = A.USEGRADE AND A.USERID = #{userId}), 17)
|
||||||
AND M.MENU_POSITION = #{menuPosition}
|
AND M.MENU_POSITION = #{menuPosition}
|
||||||
)
|
)
|
||||||
select *
|
select *
|
||||||
from menu
|
from menu
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue