2014-11-02 2 views
1

SQL Server에서 STUFF, XML 기능을 사용하여이 문자열 연결 기능을 사용하고 있습니다. 프로세스가 끝나면 레코드의 마지막 요소를 업데이트해야합니다.테이블의 행 연결

내 표는 다음과 같습니다

id category 
------------- 
1  Pop 
1  Rock 
2  Pop 
3  Rock 

동일 ID 범주이 내가 할 노력하고있어 방법입니다

Pop|Rock| as Pop|Rock 

구분 기호 |에 추가 취득해야한다. 하지만 Stuff과 XML로 인해 성능이 저하되고 있습니다.

도움을 주시면 감사하겠습니다.

+1

xml 'stuff'는 어떻게 생겼습니까? 예제 쿼리가 있습니까? –

+0

코드를 보여주십시오. 그러나 [이 질문] (http://stackoverflow.com/questions/17591490/how-to-make-a-query-with-group-concat-in-sql-server)는 'STUFF, XML'이 방법임을 나타냅니다. 그것을하기 위해. – Barmar

+0

먼저 연결 통계를 게시하십시오. – gotqn

답변

1

검색어가 다음과 유사합니까?

select id, 
     stuff((select '|' + category 
       from table t2 
       where t2.id = t.id 
       for xml path ('') 
      ), 1, 1, '') as categories 
from (select distinct id from table t) t; 

이 방법을 사용하지 않으면 SQL Server에 다른 방법이 있지만 성능이 훨씬 떨어질 것으로 생각됩니다.