Все возможные комбинации для двух столбцов data

У меня есть представление в два столбца

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
5
задан Martin Smith 23 November 2011 в 09:47
поделиться