我有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
pos_metrics表:
pos_product_selling表:
输出:
EDIT
当我尝试一起使用GROUP BY和DISTINCT时,我没有得到重复项,但重复了第二个表中的值。还有其他解决方案吗?
答案 0 :(得分:14)
尝试类似这样的事情
GROUP BY pos_product_selling.metrics
答案 1 :(得分:8)
试试这个:
SELECT DISTINCT * FROM ...
GROUP BY pm.metrics
答案 2 :(得分:5)
在pos_metrics
表中添加主键并将其引入pos_product_selling
表,然后根据主键和其他条件执行JOIN
。那么你不会得到这些重复的。
这里有重复的原因是因为不可能根据值对两个表进行唯一比较。
答案 3 :(得分:4)
要消除重复,请使用distinct:
select distinct * from ...
但我觉得你的问题是关于其他事情的 - 而且你需要发布特定代码以获得更多帮助。
答案 4 :(得分:1)
SELECT * FROM pos_metrics pm, pos_product_selling pps
Where pm.p_id=pps.p_id AND pm.p_id='0' AND pps.pos_buying_id='0' AND pm.type=1
尝试以上查询