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 31133 게시물 읽기
No. 31133
계층별 조직 코드 오류값 찾아내는 방법
작성자
김씨
작성일
2017-11-20 08:56
조회수
3,856

 

table A 가 있고
아래처럼 두 칼럼으로 있고

상위부서코드라는 자신의 바로 위 코드 항목으로

구성된다고 했을때 상위부서 코드가 존재하는 코드인지를

판별하는 방법에 대한 문의 입니다.

 

A1

  - A2

     - A3

 

부서코드  상위부서코드

 

A1         #

A2         A1

A3         A2

A4         A9   <-- 오류 상위에 A9 없음

A5         A4   <-- 상위 A4있지만 A4의 상위 A9 가 없으므로 오류 

 

위에서 부서코드가 A4인경우 상위 A9가 없기때문에 쉽게 오류라고 판단할수 있는데

부서코드가 A5인 경우 상위 A4가 존재하나(정상적임)  A4의 상위 A9가 없기때문에 오류로 체크되야할 상황입니다.

 

Table A를 Loop로 돌리면서 해당 건의 상위부서코드가 정상적인지를 알려면

또 안에서 Loop를 돌면서 상위부서코드를 계속 찾아 들어 가야 하는지요

아니면 좋은 방법이 있는지 알고싶습니다 

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

-- 최대 가능 레벨까지 Self 조인을 늘려주세요. --
SELECT t1.*
  FROM test t1
  LEFT OUTER JOIN test t2 ON t1.pcd = t2.cd
  LEFT OUTER JOIN test t3 ON t2.pcd = t3.cd
  LEFT OUTER JOIN test t4 ON t3.pcd = t4.cd
  LEFT OUTER JOIN test t5 ON t4.pcd = t5.cd
 WHERE COALESCE( t5.pcd
               , t4.pcd
               , t3.pcd
               , t2.pcd
               , t1.pcd
               ) != '#'
;

마농(manon94)님이 2017-11-28 10:46에 작성한 댓글입니다.

 늦게 확인했는데 감사합니다.

매수신호(sdrock)님이 2017-12-01 13:28에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
31136Too many connection 에러 문의 (DB튜닝) 문제입니다. ㅠㅠ [3]
mysql 초보
2017-11-28
4117
31135조회된 데이타 열 번호 질문입니다. [1]
이기자
2017-11-28
3508
31134'1'값이 들어있는 3개의 로우를 '1,1,1'로 표현(1개로우) 방법은? [2]
권순환
2017-11-23
3717
31133계층별 조직 코드 오류값 찾아내는 방법 [2]
김씨
2017-11-20
3856
31132mysql ID AUTO increment 에 대하여.
이승훈
2017-11-20
3633
31131MariaDB : plugin (query_cache_info)설치 후, 에러....... [1]
딧세
2017-11-17
3633
31130오류의 이유가 당최 뭘까요? [3]
우욱
2017-11-09
5560
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다