У меня есть следующие таблицы
- Цена ( prodID , от, цена)
- Продукт ( prodID , наименование, количество)
- PO ( prodID , orderID , сумма)
- Заказ ( orderID , дата, адрес, статус,trackingNumber, custID, shipID)
- Доставка ( shipID , компания, время, цена)
- Клиент ( custID , имя)
- Адрес ( addrID , custID, адрес)
Я хотел бы найти имена клиентов, которые купили один и тот же товар как минимум 7 раз, если они купили один и тот жепункт дважды в одном заказе, я хотел бы считать его одним. Вот мой код:
SELECT C.name, COUNT(DISTINCT p.prodId) as prod_count
FROM Product P
INNER JOIN PO
ON PO.prodId = P.prodId
INNER JOIN "Order" O
ON O.orderId = PO.orderId
INNER JOIN Customer C
ON C.custId = O.custId
GROUP BY c.name
HAVING COUNT(DISTINCT p.prodId) > 6;
Однако это возвращает количество уникальных продуктов, заказанных каждым клиентом, а это не то, что я ищу.