sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan anvender man 3 værdier for 1 række til 3 rækker med hver værdi?

Nå, jeg vil ikke give dig en komplet løsning, men hvis jeg har brug for opdelte data som denne, ville jeg prøve at bruge sqlxml (du skal prøve det på et stort antal rækker for at kontrollere, om ydeevnen er ok for dig):

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)

se sql violindemo for at prøve det.




  1. Hvordan finder jeg sidste gang en PostgreSQL-database er blevet opdateret?

  2. Hvordan reviderer man sletninger i en bestemt tabel med Oracle?

  3. Hvad er meningen med SELECT ... FOR XML PATH(' '),1,1)?

  4. mysql:fejlkode [1267]; Ulovlig blanding af sammenstillinger (latin1_general_cs,IMPLICIT) og (latin1_swedish_ci,IMPLICIT) for operation '='