Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Riga separata da virgole SQL con clausola Group By

Vuoi usare FOR XML PATH costruire:

SELECT ACCOUNT, 
       unit, 
       SUM(state_fee), 
       Stuff((SELECT ', ' + code 
              FROM   tblmta t2 
              WHERE  t2.ACCOUNT = t1.ACCOUNT 
                     AND t2.unit = t1.unit 
                     AND t2.id = '123' 
              FOR XML PATH('')), 1, 2, '') [Codes] 
FROM   tblmta t1 
WHERE  t1.id = '123' 
GROUP  BY ACCOUNT, 
          unit 

Vedi altri esempi qui:

  • La stessa unità SQL tra due tabelle necessita di numeri d'ordine in 1 cella
  • Query SQL per ottenere risultati aggregati in separatori di virgole insieme al gruppo per colonna in SQL Server