Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bisakah Saya Membatasi Koma Beberapa Baris Menjadi Satu Kolom?

Berikut adalah solusi yang berfungsi di SQL Server 2005+:

SELECT t.TicketID,
       STUFF(ISNULL((SELECT ', ' + x.Person
                FROM @Tickets x
               WHERE x.TicketID = t.TicketID
            GROUP BY x.Person
             FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), ''), 1, 2, '') [No Preceeding Comma],
       ISNULL((SELECT ', ' + x.Person
                FROM @Tickets x
               WHERE x.TicketID = t.TicketID
            GROUP BY x.Person
             FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), '') [Preceeding Comma If Not Empty]
  FROM @Tickets t
GROUP BY t.TicketID

Referensi:

  • STUFF (Transact-SQL)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana sp_describe_first_result_set Bekerja di SQL Server

  2. Cara Memasukkan Hasil Prosedur Tersimpan ke Tabel Sementara di SQL Server

  3. Hapus semua spasi dari string di SQL Server

  4. COT() Contoh di SQL Server

  5. Bagaimana cara menjalankan prosedur tersimpan sekali untuk setiap baris yang dikembalikan oleh kueri?