Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Zeilenwerte in einer CSV-Datei zusammenführen (auch bekannt als GROUP_CONCAT für SQL Server)

Für jedes Paar aus EntityID, AttributeID Verwenden Sie den XML-Pfadtrick, um die CSV-Datei zu generieren

 SELECT
    M.EntityID, M.AttributeID,
    SUBSTRING(CAST(foo.bar AS varchar(8000)), 2, 7999) AS Options
FROM
    (
    SELECT DISTINCT EntityID, AttributeID
    FROM MyTable
    ) M
    CROSS APPLY
    (
    SELECT
        ',' + OptionText
    FROM
        MyTable M2
    WHERE
        M.EntityID = M2.EntityID AND M.AttributeID= M2.AttributeID
    FOR XML PATH ('')
    ) foo(bar)