SQL Server 2008中的GROUP_CONCAT(MySQL)

时间:2014-06-06 08:12:56

标签: sql-server-2008

SELECT id, GROUP_CONCAT(date + ',' + name + ',' + comment) As `data`
FROM `table`
GROUP BY id

此语法在MySQL中有效,我该如何在SQL Server 2008中实现?

2 个答案:

答案 0 :(得分:2)

试试这个:

SELECT id,
       STUFF((SELECT ',' + b.date + ',' + b.name + ',' + b.comment
                  FROM `table` b
                  WHERE b.id = a.id
                  FOR XML PATH('')), 1, 1, '') AS [Output]
    FROM `table` a
    GROUP BY a.id

答案 1 :(得分:1)

SQL Server中没有字符串聚合,但您可以尝试使用XML例程:

SELECT
    id,
    (
        SELECT
            date + ',' + name + ',' + comment AS 'text()'
        FROM
            [table] as xml
        WHERE
            xml.id = [table].id
        FOR
            XML PATH('')
    )
FROM
    [table]
GROUP BY
    id