2011-09-06 147 views

回答

1
​​
+0

'消息4104,級別16,狀態1,行1 多部分標識符「iq.name」無法綁定。' –

+0

@Aaron,哎呀,我在更改表名的同時打字,固定! – Blindy

+0

這也會產生一個額外的尾隨逗號。你可以用'REPLACE'(如我的答案)或者先把逗號先用'STUFF((select','+ itbl.name ...),1,1,'');' –

1
SELECT DISTINCT 
    ID, 
    Names = REPLACE(STUFF( 
     ( 
      SELECT ',' + Name AS [data()] 
      FROM dbo.Table AS x 
      WHERE x.ID = t.ID 
      ORDER BY Name 
      FOR XML PATH ('') 
     ), 1, 1, ''), ' ,', ',') 
FROM dbo.Table AS t 
ORDER BY ID; 
+0

這真的很整潔,謝謝 – IThasTheAnswer