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

Lav en separat række, hvis en kolonne indeholder kommasepareret værdi

Du kan skrive en forespørgsel som:

DECLARE @employee TABLE (FirstName  VARCHAR(100),
                         LastName   VARCHAR(100),
                         PayScale INT)

INSERT INTO @employee VALUES 
('Craig','L',150000) , 
('Alice,Lisa','simons',100000)



SELECT Split.a.value('.', 'VARCHAR(100)') AS FirstName  , LastName  ,PayScale
       FROM  (SELECT  CAST ('<M>' + REPLACE(FirstName, ',', '</M><M>') + '</M>' 
                             AS XML) AS FirstName ,  LastName    ,PayScale
               FROM  @employee) 
       AS A 
CROSS APPLY FirstName.nodes ('/M') AS Split(a)



  1. Undgå eksklusive adgangslåse på refererede tabeller ved DROPping i PostgreSQL

  2. Indsættelse af filbilleder i en database

  3. Sådan ændres ordbrudstegn i SQL Server Full-Text indeksering

  4. Django ORM, Indsæt ingen dato og klokkeslæt som 0 i MySQL