아래와 같은 트리 쿼리가 있는데 Name = 'Son'을 필터링하고 모든 상위 레코드를 선택하여 결과가 처음 3 개의 행을 가져와야하는 경우. 쿼리를 어떻게 구성합니까? Common Tables Expression (CTE)을 사용해야한다고 읽었지 만 CTE의 초보자입니다. 누구든지 나를 도울 수 있습니까? 감사. 당신이 테이블에 나무를 저장 (또는 위의 SQL을 사용하여 뷰를 정의) 할 수처럼Filtering SQL Tree 쿼리
select 1 AS id, NULL AS parent, 'God' AS name
UNION
select 2 AS id, 1 AS parent, 'Father' AS name
UNION
select 3 AS id, 2 AS parent, 'Son' AS name
UNION
select 4 AS id, NULL AS parent, 'Godmother' AS name
UNION
select 5 AS id, 4 AS parent, 'Mother' AS name
사용중인 데이터베이스 엔진 및 버전은 무엇입니까? – Lamak
http://stackoverflow.com/questions/7651686/recursive-query-to-find-the-parent-record/ – Magnus