У меня есть представление в два столбца
Product Id Tag
----------------------
1 Leather
1 Watch
2 Red
2 Necklace
2 Pearl
Я пытаюсь получить все возможные комбинации тегов для продукта как такового:
1 Leather
1 Leather,Watch
2 Pearl
2 Pearl,Necklace
2 Pearl Necklace,Red
2 Necklace
2 Necklace, Red
2 Red
Я нашел и украл некоторый SQL, который дал мне полный список для всех, кроме маленьких версий, его ниже.
Любые идеи, это начало заставлять меня болеть. Виртуальная пинта за лучший ответ.
SELECT ProductId,
(SELECT CAST(Tag + ', ' AS VARCHAR(MAX))
FROM ProductByTagView
WHERE Product.ProductId = ProductByTagView.ProductId
order by tag
FOR XML PATH ('')) AS Tags
FROM Product