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

Обединете стойностите на редовете в CSV (известен още като GROUP_CONCAT за SQL Server)

За всяка двойка EntityID, AttributeID използвайте трика за XML пътя, за да генерирате CSV

 SELECT
    M.EntityID, M.AttributeID,
    SUBSTRING(CAST(foo.bar AS varchar(8000)), 2, 7999) AS Options
FROM
    (
    SELECT DISTINCT EntityID, AttributeID
    FROM MyTable
    ) M
    CROSS APPLY
    (
    SELECT
        ',' + OptionText
    FROM
        MyTable M2
    WHERE
        M.EntityID = M2.EntityID AND M.AttributeID= M2.AttributeID
    FOR XML PATH ('')
    ) foo(bar)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Intel Xeon Scalable Processors и SQL Server 2017

  2. Персонализирани низове за формат на дата/час, поддържани от FORMAT() в SQL Server

  3. Представяме ви нова функция - Отчет за растежа на облачната база данни на Spotlight

  4. Как работи функцията TRANSLATE() в SQL Server (T-SQL)

  5. Какво е „версия на ред“ в SQL Server?