这个很棘手……
Products
表 -> 产品有多种颜色..
我想要一个存储过程,它可以带回具有某些颜色的产品..
例如,圣诞帽会有“绿色”和“红色”。我想要所有带有“绿色”和“红色”的产品......不仅仅是“绿色”或“红色”,而是两者都有......
这是我目前所拥有的......
问题
- 它带回了具有一种或一种颜色而不是两种颜色的产品。
- 重复记录。。
代码:
DECLARE @COLORS VARCHAR(MAX) = 'Red, Green'
SELECT *
FROM Products p
LEFT JOIN Product_Colors_Bridge b ON b.ProductID = p.ProductID
LEFT JOIN Product_Colors c on c.ID = b.ColorID
CROSS JOIN dbo.SplitString(@COLORS, ',', NULL)
WHERE CHARINDEX(token, Color) <> 0