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

TSQL łączenie wielu wierszy w jeden wiersz

declare @T table (FileID int, ErrorCode int, ErrorDesc varchar(max), ErrorCount int)

insert into @T values
(1,             4,                    'Bad File Name',          3),
(2,             6,                    'Bad File Code',          56),
(3,             4,                    'Bad File Name',          2),
(3,             12,                   'Line Length Invalid',    3),
(3,             17,                   'Missing Req Fields',     150)

select FileID,
       (select cast(ErrorCode as varchar(10))+' '+ErrorDesc+' '+cast(ErrorCount as varchar(10))+' '
        from @T as T2
        where T1.FileID = T2.FileID
        for xml path(''), type).value('.', 'varchar(max)') 
from @T as T1
group by FileID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Krzyżowe połączenie SQL Query

  2. Sql Query pomaga uzyskać niezgodne rekordy z dwóch tabel

  3. datetime vs datetime2 w SQL Server:jaka jest różnica?

  4. Czy możemy odmówić usunięcia z określonych tabel?

  5. Znaki nieliczbowe, które zwracają wartość dodatnią podczas używania ISNUMERIC() w SQL Server