首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL选择产品-相似产品

MySQL选择产品-相似产品
EN

Stack Overflow用户
提问于 2015-11-04 14:07:27
回答 1查看 70关注 0票数 0

我有两个桌子产品和similar_products。Products表保存与可用产品相关的数据,但是此表包含大量相同但具有不同产品id的产品。这就是为什么我有另一个表来保存所有类似产品的数据。我需要运行一个查询,从products表中选择产品,但同时也要签入similar_products表,以避免选择任何重复的产品。

例如:

产品表:

代码语言:javascript
复制
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 Pack

Similar_products表

代码语言:javascript
复制
ProductID | Similar_ProductID
----------|-------------------
8210      | 8211
8210      | 8212
8211      | 8210
8211      | 8212
8212      | 8210
8212      | 8211

如何运行只选择ProductID 8202和8210而不选择重复产品的查询。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 14:29:54

如果你总是把x~y作为Similar_products中的两个记录x,y和y,x,那么你的问题就是保留某一列的分组最大值的行。的变化。

代码语言:javascript
复制
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
    )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33523939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档