이진 트리 재귀, 왼쪽의 하단 지점을 찾으십시오.
ID 자동 번호 매기기
PID 부모 ID
id_path 노드 경로
flg 위치, 0 왼쪽, 1 오른쪽
AlterProcedure [DBO]. [get_class]
다음과 같이 코드를 복사하십시오. @classint,
@returnintoutput
처럼
select@return = isnull ((selecttop1idfromclasswhowspid =@classandflg = 0), -2)
@return> -1
시작하다
execet_class@return,@returnoutput- 왜 @return을 여기에서 사용해야합니까? 결국이 값을 얻으려면 전달해야합니다.
끝
또 다른
시작하다
@return =@class를 선택하십시오
끝
가다
실제로 가장 낮은 ID를 찾으려면 쿼리 명령문 만 있으면됩니다.
노드 경로에는 1이 있고 부모 노드 위치는 모두 왼쪽에 있으며 가장 큰 것을 꺼내십시오.
selectTop1*fromclassawhereid_pathlike '%1,%'및flg = 0 and (selectflgfromclasswhowsid = a.pid) = 0orderByIddesc