Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Навиване на няколко реда в един ред

Просто използвайте същия метод за другите колони:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Методи за класиране на редове в SQL Server:ROW_NUMBER(), RANK(), DENSE_RANK() и NTILE()

  2. Добавете вход за свързан сървър в SQL Server (пример за T-SQL)

  3. T-SQL Заявка за матрична таблица за свободна позиция

  4. SQLAlchemy съкращава VARCHAR(MAX)

  5. Как да използвате функцията GROUP_CONCAT на MSSQL