Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

zagregowany ciąg tsql dla grupy według

Możesz użyć For XML jako triku, aby osiągnąć to od SQL Server 2005 i nowszych.

Select
    A.name,
    stuff((
        select ',' + B.address
        from Addresses B
        WHERE A.id=B.name_id
        for xml path('')),1,1,'')
From Names A

Działa dobrze, jeśli nie masz już przecinków w adresie, ale nawet jeśli tak, ponieważ twoja prośba polega na wstawieniu przecinków między nimi... prawdopodobnie jest to tak samo „prawidłowe”.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatyzacja zadań tworzenia kopii zapasowych i konserwacji za pomocą planu konserwacji w SQL Server

  2. Serwer a źródło danych w ciągu połączenia

  3. Funkcja Contains() zawodzi przy ciągach liczb?

  4. Pętla T-SQL przez kolumnę danych XML w celu uzyskania unikalnego zestawu ścieżek

  5. Porównanie ciągów kończy się niepowodzeniem ze zmienną varchar