2014-04-12 1 views
0

내 범주의 모든 하위 항목을 가져와 내용과 병합하고 싶습니다. 나는 카테고리를 클릭하면 카테고리 및 하위 카테고리의 모든 내용을 표시하려고합니다. 내가 CTE를 사용하고있다 :CTE를 IN 절에 사용하는 방법은 무엇입니까?

WITH ret AS (SELECT  id, parent 
         FROM  ContentsGroups 
         WHERE  (id = @id) 
         UNION ALL 
         SELECT  t.id, t.parent 
         FROM   ContentsGroups AS t INNER JOIN 
               ret AS r ON t.parent = r.id) 
SELECT  id 
FROM   ret 

어떻게 내가 내 내용 테이블에 출력을 가입 할 수 있습니까?

난 다음을 사용 :

SELECT title FROM Contents WHERE id IN (WITH ret AS ...) 

내가 절 관련 오류가 어떻게 난 내 표와 절과 함께 병합 할 수 있습니까? 감사

답변

2

WITH ret AS (SELECT  id, parent 
         FROM  ContentsGroups 
         WHERE  (id = @id) 
         UNION ALL 
         SELECT  t.id, t.parent 
         FROM   ContentsGroups AS t INNER JOIN 
               ret AS r ON t.parent = r.id) 

SELECT title FROM Contents WHERE id IN (SELECT id FROM ret); 
+0

위에 게시 된 쿼리는 그 전체 코드를 시도? 실제 SQL 오류를 게시 할 수 있습니까? –