sqlserver 将一个字段下的多行值合并成一条数据

SELECT
    名称 = (
        stuff(
            (
                SELECT
                    ',' + CAST (字段名AS VARCHAR)
                FROM
                    表名
                WHERE
                    条件 FOR xml path ('')
            ),
            1,1,  ''
        )
    )

例子:

SELECT
    name = (
        (
            stuff(
                (
                    SELECT
                         ',' + CAST (a.name AS VARCHAR)
                    FROM
                        a
                    JOIN b ON a.id = b.id
                    WHERE
                        a.id = 1
                    ORDER BY
                        a.id FOR xml path ('')
                ),
                1, 1, ''
            )
        )
    )

你可能感兴趣的:(SqlServer,sqlserver,数据库)