我有两个桌子产品和similar_products。Products表保存与可用产品相关的数据,但是此表包含大量相同但具有不同产品id的产品。这就是为什么我有另一个表来保存所有类似产品的数据。我需要运行一个查询,从products表中选择产品,但同时也要签入similar_products表,以避免选择任何重复的产品。
例如:
产品表:
ProductID | Manufacturer | Part No | Name
-----------------------------------------------------------------
8202 | Hp | 402146-B21 | HP Auto Synch Cable
8210 | Hp | 113894-B21 | HP Stylus 3 Pack
8211 | Hp | 113894-B21 | HP Stylus 3 Pack
8212 | Hp | 113894-B21 | HP Stylus 3 PackSimilar_products表
ProductID | Similar_ProductID
----------|-------------------
8210 | 8211
8210 | 8212
8211 | 8210
8211 | 8212
8212 | 8210
8212 | 8211如何运行只选择ProductID 8202和8210而不选择重复产品的查询。
发布于 2015-11-04 14:29:54
如果你总是把x~y作为Similar_products中的两个记录x,y和y,x,那么你的问题就是保留某一列的分组最大值的行。的变化。
SELECT
p.ProductID, p.Name
FROM
Products as p
WHERE
NOT EXISTS(
SELECT
1
FROM
Similar_products s
WHERE
p.ProductID=s.ProductID
AND p.ProductID>s.Similar_ProductID
)https://stackoverflow.com/questions/33523939
复制相似问题