Mysql连接提供重复的行

Dee*_*pak 18 mysql join left-join

我有2个表,我使用join从这两个表中获取常见记录.我使用了以下查询但我的问题是我得到的记录加倍.查询如下

SELECT * FROM pos_metrics pm INNER JOIN pos_product_selling pps ON   
pm.p_id=pps.p_id WHERE pm.p_id='0' AND pps.pos_buying_id='0' AND pm.type=1
Run Code Online (Sandbox Code Playgroud)

pos_metrics表:
在此输入图像描述

pos_product_selling表: 在此输入图像描述

输出:

在此输入图像描述

编辑
当我尝试一起使用GROUP BY和DISTINCT时,我没有得到重复,但重复了第二个表中的值.还有其他方法吗?

Jay*_*n K 16

尝试这样的事情

GROUP BY pos_product_selling.metrics
Run Code Online (Sandbox Code Playgroud)

  • 你能评论你的答案吗? (4认同)

nun*_*unu 9

试试这个:

SELECT DISTINCT * FROM ...
GROUP BY pm.metrics
Run Code Online (Sandbox Code Playgroud)

  • 这是有效的,但这是正确的方法吗??我在这里处理数千条记录.. (2认同)

Shy*_*thy 6

pos_metrics表中添加一个主键,并将其引入pos_product_selling表中,然后JOIN根据主键和其他条件进行操作。那样您将不会得到这些重复项。

您在此处重复的原因是因为不可能基于值对两个表进行唯一比较。

  • “并将其引入`pos_product_sales`表”是什么意思 (3认同)

Den*_*rdy 5

要消除重复,请使用distinct:

select distinct * from ...
Run Code Online (Sandbox Code Playgroud)

但是我感觉到您的问题是关于其他问题的,您需要发布特定的代码以获取更多帮助。