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

Pernyataan SQL CONCAT JIKA?

SELECT  agenda.AgendaItemNumber,
        Agenda.AgendaName, 
        AgendaType.AgendaTypeDescription, 
        STUFF(( SELECT  ';' + FullName 
                FROM    UserDetails
                WHERE   UserDetails.AgendaID = Agenda.AgendaID
                FOR XML PATH('')
            ), 1, 1, '') AS fullName 
FROM    Agenda
        INNER JOIN AgendaType 
            ON AgendaType.AgendaTypeID=Agenda.AgendaTypeID
        INNER JOIN UserDetails 
            ON Agenda.AgendaID = Userdetails.AgendaID
WHERE   agenda.AgendaTypeID = '2'
AND     AgendaItemNumber = AgendaItemNumber
AND     AgendaName = AgendaName
AND     AgendaTypeDescription = AgendaTypeDescription
AND     AgendaItemNumber >= '3'

ADENDUM

Ekstensi XML di SQL-Server memungkinkan Anda untuk menggabungkan beberapa baris menjadi satu baris. Maksud sebenarnya dari ekstensi adalah agar Anda dapat menampilkan sebagai XML (jelas), tetapi ada beberapa trik bagus yang merupakan produk sampingan dari ekstensi. Dalam query di atas, jika ada nama kolom di subquery (FullName) itu akan ditampilkan sebagai <FullName>Joe Bloggs1</FullName><FullName>Joe Bloggs2</FullName> , karena tidak ada nama kolom, itu hanya menggabungkan baris (tidak membentuk XML yang tepat). PATH part memungkinkan Anda untuk menentukan node tambahan, misalnya jika Anda menggunakan PATH('Name') di atas, Anda akan mendapatkan <Name>;Joe Bloggs</Name><Name>;Joe Bloggs2</Name> Jika Anda menggabungkan Path dengan nama kolom, Anda akan mendapatkan Joe Bloggs.

Akhirnya STUFF cukup hapus titik koma di awal daftar.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengubah Tipe Data Kolom di SQL Server (T-SQL)

  2. Hapus semua karakter setelah spasi pertama di SSRS 2005

  3. Mesin Virtual Azure untuk Penggunaan SQL Server

  4. Menggunakan gabungan di SQL Server untuk memperbarui tabel ketiga

  5. Bagaimana membandingkan datetime dengan hanya tanggal di SQL Server