2011-12-12 2 views
0

마지막으로 한 행의 한 콘텐츠에 대해 모든 ID (쉼표로 구분됨)를 얻기 위해 실행할 쿼리를 찾았습니다. 당신은 이미 그것이 무엇을해야하는지 않기 때문에 쿼리 볼 필요가 없습니다Transpose 쿼리를 사용하여 노드를 만듭니다 (SQL Server 2008)

:

다음 쿼리는 트릭을했다.

180555 | <Expr1>, 404</Expr1><Expr1>, 405</Expr1><Expr1>, 723</Expr1><Expr1>, 1086</Expr1><Expr1>, 1087</Expr1><Expr1>, 1118</Expr1><Expr1>, 1124</Expr1><Expr1>, 1126</Expr1> 

나는 <Expr1> 노드를 필요가 없습니다

SELECT 
    taxonomy_item_id, 
    SUBSTRING(
     (SELECT ', ' + CAST(taxonomy_id AS varchar) AS Expr1 
     FROM taxonomy_item_tbl AS t2 
     WHERE (t1.taxonomy_item_id = taxonomy_item_id) AND (taxonomy_language_id = 2067) 
     ORDER BY taxonomy_item_id, taxonomy_id FOR XML PATH('') 
    ), 1, 1000) AS taxonomy_ids 
FROM 
    taxonomy_item_tbl AS t1 
WHERE 
    (taxonomy_language_id = 2067) AND (taxonomy_item_id = 180555) 
GROUP BY 
    taxonomy_item_id 

유일한 문제는 데이터가 내가 얻을 결과입니다. 이 방법을 삭제할 수 있습니까? 다음 그냥 요구하지 않습니다 - 나는 쿼리에서 AS Expr1을 삭제하면 당신은 <Expr1>을하지 않을 경우 자동으로 다시

감사

+1

어떻게 당신이 실행하는 시도? 일부 쿼리 빌더를 사용하지 않으면 'AS Expr1'을 다시 추가하지 말아야합니다. – gbn

+0

쿼리 빌더는 무엇입니까? 사용 중지 할 수 있습니까? – Ozkan

+0

잘 모르겠습니다. "당신은 어떻게 운영하고 있습니까?"나는 물었다 ... – gbn

답변

0

추가됩니다!

당신은이 :

(SELECT ', ' + CAST(taxonomy_id AS varchar) AS Expr1 

AS Expr1 추가 할 수있는 <Expr1> 유발하는 - 그래서 그냥 그 표현이 없습니다.

SELECT 
    taxonomy_item_id, 
    SUBSTRING(
     (SELECT ', ' + CAST(taxonomy_id AS VARCHAR) 
     FROM dbo.taxonomy_item_tbl AS t2 
     WHERE t1.taxonomy_item_id = taxonomy_item_id 
     AND taxonomy_language_id = 2067 
     ORDER BY taxonomy_item_id, taxonomy_id 
     FOR XML PATH('') 
    ), 1, 1000) AS taxonomy_ids 
FROM 
    dbo.taxonomy_item_tbl AS t1 
WHERE 
    taxonomy_language_id = 2067 
    AND taxonomy_item_id = 180555 
GROUP BY 
    taxonomy_item_id 
+0

나는 Query Builder (MSQuery, Access, 뭐든지) 질문을 올바르게 이해하면 다시 추가하고 있습니다. – gbn

+0

@gbn : 그거 던지기 ...... –