我有看起来像这样的数据

Investor    Contact
IBM           James
IBM           Dean
IBM           Sean
Microsoft     Bill
Microsoft     Steve

我需要数据看起来像这样
Investor     Contact
IBM          James,Dean,Sean
Microsoft    Bill,Steve

或如果上述不可能
Investor        Contact1  Contact2   Contact3  ...
IBM             James      Dean        Sean
Microsoft        Bill      Steve

最佳答案

这应该工作:

SELECT Investor,
STUFF((
    SELECT ',' + convert(nvarchar(50), Contact)
    FROM Investors I2
    WHERE I2.Investor = I1.Investor
    FOR XML PATH('')
), 1, 1, '') Contacts
FROM Investors I1
GROUP BY Investor

结果是:
IBM       James,Dean,Sean
Microsoft   Bill,Steve

关于sql - SQL 2005分组动态数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3808404/

10-11 01:43