sql >> Databasteknik >  >> RDS >> Sqlserver

Rulla upp flera rader i en rad

Använd bara samma metod för de andra kolumnerna:

SELECT
    t.Department,
    Worker = 
        STUFF((
            SELECT ';' + Worker
            FROM tbl 
            WHERE Department = t.Department
            ORDER BY Worker
            FOR XML PATH(''), TYPE
        ).value('text()[1]','NVARCHAR(MAX)'), 1, 1, N''),
    Phone = 
        STUFF((
            SELECT ';' + Phone
            FROM tbl 
            WHERE Department = t.Department
            ORDER BY Worker
            FOR XML PATH(''), TYPE
        ).value('text()[1]','NVARCHAR(MAX)'), 1, 1, N''),
    Ext = 
        STUFF((
            SELECT ';' + Ext
            FROM tbl 
            WHERE Department = t.Department
            ORDER BY Worker
            FOR XML PATH(''), TYPE
        ).value('text()[1]','NVARCHAR(MAX)'), 1, 1, N'')
FROM tbl t
GROUP BY t.Department


  1. PostgreSQL VALUES Kommando förklaras

  2. mysql - Uppdatera automatiskt förekomster i en annan tabell

  3. PSQLEundantag:FEL:syntaxfel i tsquery

  4. MySQL-utlösare:före infogning eller efter infogning