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
운영게시판
최근게시물
MySQL Q&A 31370 게시물 읽기
No. 31370
상위조직을 모두 표시하고 싶은데 어떻게 하면 되나요?
작성자
질무니
작성일
2022-05-01 11:06ⓒ
2022-05-01 11:07ⓜ
조회수
1,892

3단계로 고정되어 있는 조직도로 구성되어 있는 사이트인데요. 

 

무조건 3단계에 맞춰서 등록을 해야되다보니 실제 조직과 맞지 않는 부분이 많아 

추가 개발할 때마다 문제가 많습니다.

 

 

구글링하다가 괜찮은 글이 찾아서 

https://wooriworld2006.tistory.com/417#comment11796435 내용 중

글 처음에 나오는 구조 말고 

중간 쯤 에 나오는 Nested Set Model 모델 방식을 참고하여 만들고 있습니다.

 

만들다 보니 혼자 해결이 안되는 부분이 있어서 도움을 받으려 합니다.

 

자신의 상위조직명이 모두 보이게 하고 싶은데 어떻게 하면 되나요?

 

https://wooriworld2006.tistory.com/417#comment11796435 의  

Nested Set Model모델의 트리구조 이미지를 예를 들자면 

조직정보 8줄 data가 모두 보여주는데

---------------------------------

dept1 | dept 2 | dept3 |

---------------------------------

 ceo |                |              |

 ceo | 경영부서 |             |

 ceo | 경영부서 | 재무팀 |  

 ceo | 경영부서 | 회계팀 |

 ceo | 개발부서 |             |

 ceo | 개발부서 | 서버 개발팀 |

 ceo | 개발부서 | 앱 개발팀 |  

 ceo | 개발부서 | 웹 개발팀 |

 

이렇게 나오게 하고 싶은데 어떻게 하면 될까요??

 

답변 부탁 드립니다.

이 글에 대한 댓글이 총 1건 있습니다.
WITH nav_map AS
(
SELECT 1 id, 'CEO' name, 1 lft, 24 rgt
UNION ALL SELECT  2, '개발부서'    , 10, 23
UNION ALL SELECT  3, '경영부서'    ,  2,  9
UNION ALL SELECT  4, '웹 개발팀'   , 19, 22
UNION ALL SELECT  5, '앱 개발팀'   , 15, 18
UNION ALL SELECT  6, '서버 개발팀' , 11, 14
UNION ALL SELECT  7, '웹 개발자1'  , 20, 21
UNION ALL SELECT  8, '앱 개발자1'  , 16, 17
UNION ALL SELECT  9, '서버 개발자1', 12, 13
UNION ALL SELECT 10, '회계팀'      ,  5,  8
UNION ALL SELECT 11, '재무팀'      ,  3,  4
UNION ALL SELECT 12, '회계사1'     ,  6,  7
)
SELECT c.lft
     , c.name
     , COUNT(*) lv
     , CONCAT(REPEAT(' ', COUNT(*)-1), c.name) name_
     , GROUP_CONCAT(p.name ORDER BY p.lft SEPARATOR '|') path_
  FROM nav_map c
 INNER JOIN nav_map p
    ON c.lft BETWEEN p.lft AND p.rgt
 GROUP BY c.lft, c.name
 ORDER BY c.lft
;

 
마농(manon94)님이 2022-05-02 16:22에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
31372mysql 5.6 에서 영문 또는 숫자의 위치를 알고자 합니다. [1]
김종수
2022-06-02
1671
31370상위조직을 모두 표시하고 싶은데 어떻게 하면 되나요? [1]
질무니
2022-05-01
1892
31369select case 문에서 전체 합을 출력하는 방법 [1]
초보
2022-04-14
1981
31368mssql에서 mysql로 이행시데이터변환 [1]
WaitToken
2022-04-11
1995
31367unixtime stamp 로 저장되어 있는 데이터 날짜 비교하기 [1]
규야
2022-04-11
1988
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2022 DSN, All rights reserved.
작업시간: 0.062초, 이곳 서비스는
	PostgreSQL v14.2로 자료를 관리합니다