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

Как да свържете много редове със същия идентификатор в sql?

В SQL-сървър можете да го направите в следното:

ЗАПИТВАНЕ

SELECT id, displayname = 
    STUFF((SELECT DISTINCT ', ' + displayname
           FROM #t b 
           WHERE b.id = a.id 
          FOR XML PATH('')), 1, 2, '')
FROM #t a
GROUP BY id

ТЕСТОВИ ДАННИ

create table #t 
(
id int,
displayname nvarchar(max)
)

insert into #t values    
 (1 ,'Editor')
,(1 ,'Reviewer')
,(7 ,'EIC')
,(7 ,'Editor')
,(7 ,'Reviewer')
,(7 ,'Editor')
,(19,'EIC')
,(19,'Editor')
,(19,'Reviewer')

ИЗХОД

id  displayname
1   Editor, Reviewer
7   Editor, EIC, Reviewer
19  Editor, EIC, Reviewer


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да свържете Python към SQL Server за автоматизиране на бекенд процес

  2. Свързване към SQL Server 2012 с помощта на sqlalchemy и pyodbc

  3. SQL:Изберете динамично име на колона въз основа на променлива

  4. Инсталиране на примери на база данни AdventureWorks в Microsoft SQL Server 2012

  5. Стойностите на колоната за идентичност на SQL сървъра започват от 0 вместо от 1