2013-08-14 3 views
21

내 T-SQL 쿼리는 다음과 생성 결과가 어떻게 어떤 제안 주시면 감사하겠습니다이쉼표로 구분 된 목록은

ID    Date 
756 2011-08-29, 2011-08-31, 2011-09-01, 2011-09-02 

처럼 변환 할 수 있습니다

ID  Date 
756 2011-08-29 
756 2011-08-31 
756 2011-09-01 
756 2011-09-02 

을 설정합니다.

답변

57

단일 행에 여러 행을 연결하는 FOR XML PATHSTUFF을 사용할 수

select distinct t1.id, 
    STUFF(
     (SELECT ', ' + convert(varchar(10), t2.date, 120) 
      FROM yourtable t2 
      where t1.id = t2.id 
      FOR XML PATH ('')) 
      , 1, 1, '') AS date 
from yourtable t1; 

SQL Fiddle with Demo

+1

이 나에게 시작 공백 문자를 주었다 참조하십시오. ', 1, 1 '') AS date를', 1, 2, '') AS date로 변경하여 수정했습니다. – voidstate