나는 다음과 같은 테이블이 있습니다계층 데이터가 같은 테이블에 부모/자식 관계의 가입
Id ParentId Weight
1 1 0
2 1 10
3 2 5
ParentId
참조 같은 테이블의 Id
을. 이 테이블을 쿼리하여 세 번째 열의 누적 가중치를 합산하여 어떻게 자체적으로이 테이블에 연결할 수 있습니까?
예를 들어, Id 2의 누적 가중치를 알고 싶다면 결과는 항목 3의 부모가 2이므로 결과는 15 (Id2 + Id3 = 15)를 반환합니다. 항목의 누적 가중치를 알고 싶었 으면 3이면 항목 3의 상위 ID를 가진 레코드가 없으므로 5를 반환합니다.
기본적으로 쿼리하는 레코드에 자식이 있으면 데이터 자식 시퀀스를 추가하고 하나의 결과를 반환하려고합니다.
이 작업은 데이터베이스에서 수행 할 수 있습니까? 아니면 일치하는 레코드를 찾기 위해 전체 레코드를 반복해야합니까?