好加莱拉显示重复值
接下来,我已经“PRODUCT_ID”当出现PRODUCT_ID一个叫销售具有字段的sales_id“,“状态”和表我需要显示我的列表两次只有不同的状态= SENT和状态='RECEIPT'。 总结仅显示产品在不同销售ID中具有这两种状态时的重复情况。
任何怀疑,如果它太混乱可以质疑。哦,我在论坛上做了很多研究,找不到那样的东西。
感谢。
好加莱拉显示重复值
接下来,我已经“PRODUCT_ID”当出现PRODUCT_ID一个叫销售具有字段的sales_id“,“状态”和表我需要显示我的列表两次只有不同的状态= SENT和状态='RECEIPT'。 总结仅显示产品在不同销售ID中具有这两种状态时的重复情况。
任何怀疑,如果它太混乱可以质疑。哦,我在论坛上做了很多研究,找不到那样的东西。
感谢。
SELECT product_id
FROM sales
WHERE status IN ('SENT', 'RECEIPT')
GROUP BY product_id
HAVING MIN(status) = 'RECEIPT' AND MAX(status) = 'SENT';
我测试了代码,但是我没有成功! –
噢,也许下一次。 – shmosel
对不起,我错过了一部分代码,现在它工作得很好,只是最后一个疑问。这两个销售销售是在不同的日期,我希望他告诉我从侧面收到的日期。有as? –
您可以使用此子查询开始:
SELECT DISTINCT product_id, status FROM sales
这会给你一排的product_id
和status
存在每个组合。然后你就可以概括它像这样:
SELECT product_id
FROM (
SELECT DISTINCT product_id, status FROM sales
) x
GROUP BY product_id
HAVING COUNT(*) > 1
,将产生一个以上的状态值product_id
值的列表。
请阅读stackoverflow.com/help/how-to-ask – Anand