SQL查询产品信息,其中只有一位客户以前购买过此产品

时间:2017-08-31 12:52:39

标签: mysql

我正在大学学习RDMS,目前正在从事网上商店数据库设计项目。我有一个关于编写产品信息查询的问题,其中只有一位客户以前购买过该产品。我有一个问题是处理一个客户多次购买单个商品的情况。What I have done

我写的查询是

SELECT orders.customerID,orderdetails.ProductID,Count(*) 
FROM orders,orderdetails 
WHERE orders.transactionID = orderdetails.transactionID 
GROUP BY orders.customerID,orderdetails.ProductID

我的表格中的正确答案应为ProductID 3,4,7,8,9.

我的问题可能不够明确,但我真的需要一些帮助,而且我几个小时都在考虑这个问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

SELECT d.ProductID
FROM orders o
INNER JOIN orderdetails d
  ON o.transactionID = d.transactionID 
GROUP BY d.ProductID
HAVING COUNT(DISTINCT o.customerID) = 1