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

Разделени със запетая резултати в SQL

Използвайте FOR XML PATH('') - което преобразува записите в разделен със запетая низ и STUFF() -което е да отреже първата запетая- както следва, което ви дава същия резултат, разделен със запетая

SELECT  STUFF((SELECT  ',' + INSTITUTIONNAME
            FROM EDUCATION EE
            WHERE  EE.STUDENTNUMBER=E.STUDENTNUMBER
            ORDER BY sortOrder
            FOR XML PATH(''), TYPE).value('text()[1]','nvarchar(max)')
           , 1, LEN(','), '') AS listStr

FROM EDUCATION E
GROUP BY E.STUDENTNUMBER

Ето го FIDDLE



  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 файлове в директория

  2. Какво е @@MAX_PRECISION в SQL Server?

  3. Присъединяване към MAX запис за дата в групата

  4. Начини за проследяване на изтрита база данни в SQL Server

  5. Конфигуриране на групи за наличност на AlwaysOn - част 2