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

SQL:Агрегиране на низове заедно

WITH Data AS (
    SELECT 1 UserId, 'A' Code 
    UNION ALL 
    SELECT 1, 'C5'
    UNION ALL 
    SELECT 1, 'X'
    UNION ALL 
    SELECT 2, 'V3'
    UNION ALL 
    SELECT 3, 'B'
    UNION ALL 
    SELECT 3, 'D'
    UNION ALL 
    SELECT 3, NULL
    UNION ALL 
    SELECT 3, 'F4'
    UNION ALL 
    SELECT 4, NULL
)
SELECT U.UserId, STUFF((
    SELECT ','+Code FROM Data WHERE Data.UserID = U.UserID FOR XML PATH('')
), 1, 1, '') Code 
FROM (SELECT DISTINCT UserID FROM Data) U

Просто заменете Data CTE с името на вашата таблица и сте готови.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отделете една колона в две таблици MS SQL Server 2008

  2. Включване на SQL Server в разпределена XA транзакция

  3. Как да импортирате текстов файл с разделители с вертикална черта в таблица на SQLServer

  4. Преобразуване на произволна дата от сървърно време в потребителско време (за стандартно и лятно часово време)

  5. Мигриране на база данни на Microsoft Access към SQL Server