sql >> Databasteknik >  >> RDS >> Sqlserver

Slå samman radvärden till en CSV (a.k.a GROUP_CONCAT för SQL Server)

För varje par EntityID, AttributeID använd XML-sökvägstricket för att generera CSV

 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)


  1. En datamodell för händelsehantering

  2. Hur kan jag använda mySQL replace() för att ersätta strängar i flera poster?

  3. Hantera din MS SQL-replikering

  4. Vad jag skulle vilja se i Amazon EC2 för databashantering