2016-12-15 95 views
-3

好加莱拉显示重复值

接下来,我已经“PRODUCT_ID”当出现PRODUCT_ID一个叫销售具有字段的sales_id“,“状态”和表我需要显示我的列表两次只有不同的状态= SENT和状态='RECEIPT'。 总结仅显示产品在不同销售ID中具有这两种状态时的重复情况。

任何怀疑,如果它太混乱可以质疑。哦,我在论坛上做了很多研究,找不到那样的东西。

感谢。

+1

请阅读stackoverflow.com/help/how-to-ask – Anand

回答

0
SELECT product_id 
    FROM sales 
WHERE status IN ('SENT', 'RECEIPT') 
GROUP BY product_id 
HAVING MIN(status) = 'RECEIPT' AND MAX(status) = 'SENT'; 
+0

我测试了代码,但是我没有成功! –

+0

噢,也许下一次。 – shmosel

+0

对不起,我错过了一部分代码,现在它工作得很好,只是最后一个疑问。这两个销售销售是在不同的日期,我希望他告诉我从侧面收到的日期。有as? –

0

您可以使用此子查询开始:

      SELECT DISTINCT product_id, status FROM sales 

这会给你一排的product_idstatus存在每个组合。然后你就可以概括它像这样:

 SELECT product_id 
      FROM (
        SELECT DISTINCT product_id, status FROM sales 
       ) x 
     GROUP BY product_id 
     HAVING COUNT(*) > 1 

,将产生一个以上的状态值product_id值的列表。