Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment développer des valeurs séparées par des virgules dans des lignes séparées à l'aide de SQL Server 2005 ?

Jetez un oeil à cette fonction. J'ai fait des astuces similaires pour diviser et transposer des données dans Oracle. Boucle sur les données en insérant les valeurs décodées dans une table temporaire. Le truc du couvent est que MS vous permettra de le faire à la volée, tandis qu'Oracle nécessite une table temporaire explicite.

Fonction de fractionnement MS SQL
Meilleure fonction de fractionnement

Modifier par l'auteur : Cela a très bien fonctionné. Le code final ressemblait à ceci (après avoir créé la fonction split) :

select pv.productid, colortable.items as color
from product p 
    cross apply split(p.color, ',') as colortable