주어진 부모 ID에서 모든 하위 항목 (및 해당 하위 항목 등)을 반환해야하는 쿼리를 작성하고 있습니다. 예를 들어Union 중첩 된 쿼리 선택
는 :
예상대로SELECT id
FROM table
WHERE parent_id IN
(SELECT id
FROM table
WHERE parent_id IN
(SELECT id
FROM table
WHERE parent_id IN
(SELECT id
FROM table
WHERE code = 'A01')
)
)
, 이것은 단지 최상위 SELECT
쿼리에 대한 결과 집합을 반환합니다. 각 어린이 수준에 UNION SELECT
을 쓸 수는 있지만 다소 어색해 보입니다 ...
각 중첩 쿼리의 각 결과 집합을 내 기본 결과 집합에 추가 할 수있는 방법이 있습니까? 또는 서투른 선택을해야합니까?
어떤 버전의 SQL입니까? 2005 년부터 [재귀 CTE] (http://msdn.microsoft.com/en-us/library/ms186243%28v=sql.105%29.aspx)를 사용할 수 있습니다. – Jamiec
죄송합니다, SQL 서버 2008을 사용하고 있습니다 – Elliott