Разгледайте тази функция. Правил съм подобни трикове за разделяне и транспониране на данни в Oracle. Превъртете данните, като вмъкнете декодираните стойности във временна таблица. Основното нещо е, че MS ще ви позволи да правите това в движение, докато Oracle изисква изрична временна таблица.
Функция за разделяне на MS SQL
По-добра функция за разделяне
Редактиране от автор: Това работи чудесно. Крайният код изглеждаше така (след създаване на функцията split):
select pv.productid, colortable.items as color
from product p
cross apply split(p.color, ',') as colortable