sql >> Databasteknik >  >> RDS >> Sqlserver

Hur applicerar man 3 värden för 1 rad till 3 rader med varje värde?

Jag kommer inte att ge dig en fullständig lösning, men om jag behöver delad data som denna, skulle jag försöka använda sqlxml (du måste prova det på ett stort antal rader för att kontrollera om prestanda är ok för 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-fioldemo att prova.




  1. Kan inte använda en MySQL-anslutning för entity framework 6

  2. mysql gå med i samma tabell olika resultatuppsättning

  3. MySQL stöder inte kommentarer på en rad här. Vad skulle orsaken vara?

  4. REGEXP_SUBSTR() Funktion i Oracle