我的SQL Server表是这样的:
ProductRef ShopID ShopRef
--------------------------------
ABC 1 bla
ABC 2
ABC 3 bla
DEF 1 rhu
DEF 2 rhu
XYZ 1 barb
XYZ 2 baxb
XYZ 3 barb
对于同一产品的所有行,商店参考应该相同。
我需要找到的是所有店铺参考所有商店都不相同的产品(忽略无关紧要的空白商店参考,可以认为它们匹配)。
所以在上面的例子中我想要返回XYZ。 ABC& DEF很好。 所有XYZ行或只是“XYZ”都可以工作。
我无法找到正确的方法对其进行分组以获得此结果,到目前为止我所管理的最好的是每个产品匹配的ShopRef字段的数量,这没有用,因为这可能会有所不同,但仍然可以
答案 0 :(得分:0)
SELECT ProductRef
FROM table
WHERE COALESCE(LTRIM(RTRIM(ShopRef)), '') <> ''
GROUP BY ProductRef
HAVING MAX(ShopRef) <> MIN(ShopRef)
答案 1 :(得分:0)
试试这个:
SELECT ProductRef
FROM MyTable
GROUP BY ProductRef
HAVING MAX(ShopRef) <> MIN(ShopRef)