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

Bagaimana cara menerapkan 3 nilai untuk 1 baris ke 3 baris dengan masing-masing nilai?

Yah saya tidak akan memberi Anda solusi lengkap, tetapi jika saya membutuhkan data split seperti ini, saya akan mencoba menggunakan sqlxml (Anda harus mencobanya pada banyak baris untuk memeriksa apakah kinerjanya baik untuk Anda):

declare @x table (prm int,iin varchar(20))

insert into @x values(1, 'A/B/C')
insert into @x values(3, 'D')
insert into @x values(2, 'R/G')

select
    x.prm, x.iin, T.C.value('.', 'nvarchar(max)') as oout
from @x as x
    outer apply (
        select cast('<d>' + replace(x.iin, '/', '</d><d>') + '</d>' as xml) as Data
    ) as D
    outer apply D.Data.nodes('d') as T(C)

lihat demo biola sql untuk mencobanya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. salin tabel dengan data ke database lain di SQL Server 2008

  2. Bagaimana saya bisa menyelaraskan bidang varchar ke kanan di TSQL?

  3. Bagaimana cara mendapatkan Paket Eksekusi Kueri di SQL Server?

  4. Rilis Baru:Paket Penyetelan Spotlight 7.1.9

  5. Cara Memperbaiki "Server tidak dikonfigurasi untuk AKSES DATA" di SQL Server