Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Server setara dengan fungsi WM_CONCAT

Anda tidak memiliki fungsi yang setara untuk itu, tetapi Anda masih dapat mensimulasikan (gunakan CROSS APPLY dan FOR XML PATH('') ). contoh,

USERID  ADDRESSLINE1
==========================
1       First Street
1       Second Street
2       32th Street
2       24th Street
2       25th Street

akan menghasilkan

USERID  ADDRESSLIST
============================
1       First Street, Second Street
2       32th Street, 24th Street, 25th Street

Menggunakan kueri ini:

SELECT  a.UserID, 
        SUBSTRING(d.Addresses,1, LEN(d.Addresses) - 1) AddressList
FROM
        (
            SELECT DISTINCT UserID
            FROM tableName
        ) a
        CROSS APPLY
        (
            SELECT [AddressLine1] + ', ' 
            FROM tableName AS B 
            WHERE A.UserID = B.UserID 
            FOR XML PATH('')
        ) D (Addresses) 

Demo SQLFiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Contoh Tabel Eksternal Oracle

  2. Sertifikasi Oracle

  3. Fungsi peringkat di MySQL dengan klausa Order By

  4. ruang kosong terkemuka yang tidak diinginkan pada format nomor Oracle

  5. Bagaimana cara memasukkan kolom pada posisi tertentu di Oracle tanpa menjatuhkan dan membuat ulang tabel?