我有两个列视图
Product Id Tag
----------------------
1 Leather
1 Watch
2 Red
2 Necklace
2 Pearl
Run Code Online (Sandbox Code Playgroud)
我正在尝试为产品获取所有可能的标签组合:
1 Leather
1 Leather,Watch
2 Pearl
2 Pearl,Necklace
2 Pearl Necklace,Red
2 Necklace
2 Necklace, Red
2 Red
Run Code Online (Sandbox Code Playgroud)
我找到并窃取了一些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
Run Code Online (Sandbox Code Playgroud)