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