2012-11-25 47 views

回答

0
SELECT a.[GROUP_ID], 
     SUBSTRING(d.Names,1, LEN(d.Names) - 1) NamesList 
FROM 
     (
      SELECT DISTINCT [GROUP_ID] 
      FROM Table1 
     ) a 
     CROSS APPLY 
     (
      SELECT [PERSON_NAME] + '|' 
      FROM table1 AS B 
      WHERE A.[GROUP_ID] = B.[GROUP_ID] 
      FOR XML PATH('') 
     ) D (Names) 
saperated

OR

SELECT [GROUP_ID], 
     STUFF(
      (SELECT '|' + [PERSON_NAME] 
      FROM Table1 
      WHERE [GROUP_ID] = a.[GROUP_ID] 
      FOR XML PATH ('')) 
      , 1, 1, '') AS NamesList 
FROM Table1 AS a 
GROUP BY [GROUP_ID]