23 lines
835 B
SQL
23 lines
835 B
SQL
DELIMITER $$
|
|
|
|
CREATE PROCEDURE `sp_get_all_groups`()
|
|
COMMENT '모든 그룹(부서) 목록 조회 (관리자 이름 포함, 이름순)'
|
|
BEGIN
|
|
SELECT
|
|
g.group_id,
|
|
g.group_name,
|
|
g.manager_user_id,
|
|
-- 관리자 표시 이름 생성 (user_list 프로시저와 유사하게)
|
|
CASE
|
|
WHEN m.user_id IS NOT NULL AND m.display_name IS NOT NULL AND m.display_name != '' AND m.account_name IS NOT NULL THEN CONCAT(m.display_name, ' [', m.account_name, ']')
|
|
WHEN m.display_name IS NOT NULL AND m.display_name != '' THEN m.display_name
|
|
WHEN m.account_name IS NOT NULL THEN m.account_name
|
|
ELSE NULL -- 매니저 없는 경우
|
|
END AS manager_display_name
|
|
FROM group_info g
|
|
LEFT JOIN user_info m ON g.manager_user_id = m.user_id -- user_info 와 조인
|
|
ORDER BY g.group_id;
|
|
END
|
|
$$
|
|
|
|
DELIMITER ; |