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

SQL Server:комбиниране на няколко реда в един ред

Има няколко метода.

Ако искате да се върне само консолидираната низова стойност, това е добър бърз и лесен подход

DECLARE @combinedString VARCHAR(MAX)
SELECT @combinedString = COALESCE(@combinedString + ', ', '') + stringvalue
FROM jira.customfieldValue
WHERE customfield = 12534
    AND ISSUE = 19602

SELECT @combinedString as StringValue 

Което ще върне вашия комбиниран низ.

Можете също да опитате един от XML методите, напр.

SELECT DISTINCT Issue, Customfield, StringValues
FROM Jira.customfieldvalue v1
CROSS APPLY ( SELECT StringValues + ',' 
              FROM jira.customfieldvalue v2
              WHERE v2.Customfield = v1.Customfield 
                  AND v2.Issue = v1.issue 
              ORDER BY ID 
                  FOR XML PATH('') )  D ( StringValues )
WHERE customfield = 12534
    AND ISSUE = 19602


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Изберете колони само със стойности NULL

  2. Как да намерите настройката ANSI_NULLS на базата данни в SQL Server (T-SQL)

  3. Таблица с историята на SQL Server - попълване чрез SP или Trigger?

  4. Как да избегнете, че мониторът на активността вреди на производителността на вашия SQL сървър

  5. Таблицата не може да се съкрати, защото се препраща от ограничение ВЪНШЕН КЛЮЧ - SQL Server / TSQL Урок, част 70