sql >> Databáze >  >> RDS >> Sqlserver

Zřetězení jednoho sloupce do jednoho řádku v SQL Server Management Studio

Testovací data

DECLARE @t TABLE ([StopNumber] INT, [DumpsterNumber] VARCHAR(10))
INSERT INTO @t
VALUES
(1,'245'),
(1,'248'),
(2,'312'),
(2,'314'),
(2,'316')

Dotaz

SELECT t.[StopNumber] 
       ,STUFF((SELECT ', ' + [DumpsterNumber]
              FROM TestTableOne
              WHERE [StopNumber] = t.StopNumber
              FOR XML PATH(''), TYPE
               ).value('.', 'varchar(max)'), 1, 2, '') AS [DumpsterNumber]
FROM TestTableOne t
GROUP BY t.[StopNumber]

Sada výsledků

╔════════════╦════════════════╗
║ StopNumber ║ DumpsterNumber ║
╠════════════╬════════════════╣
║          1 ║ 245, 248       ║
║          2 ║ 312, 314, 316  ║
╚════════════╩════════════════╝


  1. Co je rychlejší:Mnoho řádků nebo mnoho sloupců?

  2. Jak získat data z databáze a echo na stránce php?

  3. Priorita dotazu v MS SQL

  4. Jak stáhnout soubor uložený v SQL DB v binárním formátu