홈>
직원이 있습니다->관리자 계층 구조이며 다음 쿼리를 사용합니다.
SELECT EMP_ID, FIRST_NAME CONNECT_BY_ISCYCLE "CYCLE" FROM MYTABLE CONNECT by NOCYCLE PRIOR MANAGER_EMP_ID = EMP_ID START WITH EMP_ID = '12345'
우리는 다음과 같은 결과를 얻고있다
12345 Nan 0
A12345 John 0
B12345 Dumble 0
C12345 Mark 0
D12345 Shady 0
E12345 Yenn 1
여기서 문제는 CEO (F12345)가 자신의 소유자 관리자이기 때문에 LOOP이 발생하여 테이블 끝에 CEO 레코드를 얻지 못하는 것입니다. 내 예상 결과는 다음과 같습니다.
12345 Nan 0
A12345 John 0
B12345 Dumble 0
C12345 Mark 0
D12345 Shady 0
E12345 Yenn 1
*F1345 Don*
LOOP 레코드도 검색 할 수있는 방법이 있습니까? 다른 방법이 없다면 아마도 두 번의 쿼리를 수행하고 CEO를 두 번째로 가져와야합니다.
모든 지침에 감사드립니다.
- 답변 # 1
관련 자료
- join - where 절을 사용하여 SQL 쿼리에서 최신 날짜 시간 레코드를 얻는 방법은 무엇입니까?
- SQL Server에서 그룹 절을 사용하여 각 그룹에서 최신 레코드를 가져 오는 방법
- javascript - indexeddb에서 최신 레코드를 검색하는 방법은 무엇입니까?
- json - sqlite3를 사용하여 Django 데이터베이스/모델에서 다른 변형을 가진 하나의 레코드 만 검색
- archer - 레코드에서 ContentID를 어떻게 검색합니까?
- c# - 사전에서 레코드를 검색하는 가장 빠른 방법은 백만 개의 레코드를 포함 함
- ruby on rails - 활성 레코드 데이터 검색 및 표시
- sql - 일부 제외를 제외하고 테이블의 마지막 삽입/업데이트 된 레코드를 검색해야합니다
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
CONNECT_BY_ISCYCLE=1
가있는 여분의 행을 얻기 위해 쿼리가 반환하는 것을 사용할 수 있습니다.또는 재귀 CTE를 사용하십시오 :
재귀 CTE에서주기를 피하는 또 다른 방법은CYCLE
를 사용하는 것입니다. 조항 (Oracle에서만 사용 가능) :SQLfiddle에서 테스트
<시간>원래 쿼리에서 간단한 변경으로 여분의 행을 검색 할 수 있다는 것을 깨달았습니다 :