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

SQL pilih beberapa baris dalam satu kolom

AFAIK, tidak ada cara asli untuk melakukannya. Namun, Anda dapat menggunakan FOR XML untuk melakukan ini seperti ini:

SELECT 
  t1.Id,
  STUFF((
    SELECT ', ' + t2.name  
    FROM Table1 t2
    WHERE t2.ID = t1.ID
    FOR XML PATH (''))
  ,1,2,'') AS Names
FROM Table1 t1
GROUP BY t1.Id;

Demo Fiddle SQL

Ini akan memberi Anda:

| ID |   NAMES |
----------------
|  1 | A, B, C |
|  2 |    D, E |
|  3 |       F |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ekstrak angka dari teks di SQL Server

  2. Bagaimana cara menambahkan xml encoding <?xml version=1.0 encoding=UTF-8?> ke xml Output di SQL Server

  3. Menggunakan JDBC ketika nama server berisi garis miring terbalik (localhost\TESTDATA)

  4. Cara mendapatkan nilai peningkatan otomatis dari baris terakhir di sisipan

  5. Argumen Opsional dalam Klausa WHERE