2014-05-16 2 views
2

그래서 각 레코드에 동일한 테이블의 부모 레코드에 대한 참조 (null 일 수도 있음)가있는 데이터베이스가 있습니다. 각 레코드에는 단일 레코드가 현재 활성 상태인지 여부를 설명하는 '활성'플래그도 있습니다.상위 자식 트리 구조에 대한 SQL 필터

나는 다음과 같은 특성이 기록의 단순 목록으로 끝낼 싶습니다 :

대신 트리를 구성하고 일을 더 비활성 조상이 포함되지 작동 중 검색을 필터링하여 SQL에서이 작업을 수행하고 싶습니다. 원하지 않는 레코드를 걸러 내기 위해 결합하거나 집계하는 방법이 있습니까?

답변

0

CTE 및 재귀 쿼리 (데이터베이스 시스템에서 지원하는 경우)를 사용하여이를 수행 할 수 있습니다.

here이라는 SQL Server 예제와 Postgres 예제 here이 있습니다.

관련 문제