Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL:agregowanie ciągów razem

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

Wystarczy zastąpić Data CTE z nazwą stołu i gotowe.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Eksportujesz z SQL Server do Excela z nagłówkami kolumn?

  2. Formatowanie liczb przez dopełnienie zerami wiodącymi w SQL Server

  3. Jak pisać znaki UTF-8 za pomocą wstawiania zbiorczego w programie SQL Server?

  4. Jak użyć pola obliczeniowego w innym polu tego samego zapytania

  5. Napraw komunikat 241 „Konwersja nie powiodła się podczas konwersji daty i/lub czasu z ciągu znaków” w SQL Server