Таблицы:
- Поставщик: S_SUPPKEY, S_NAME
- Заказчик: C_CUSTKEY, C_NAME
- Заказы: O_ORDERKEY, O_CUSTKEY
- Lineitem: L_ORDERKEY, L_SUPPKEY
В таблице Lineitem
есть много столбцов с одинаковым ORDERKEY
, но с разными SUPPKEY
. В одном заказе может быть несколько поставщиков. Таким образом, если у вас есть 3 поставщика в одном заказе для одного клиента, этот клиент будет учитываться для каждого из 3 поставщиков в их количестве клиентов.
SELECT
S_NAME,
(SELECT COUNT(Customer.C_NAME)
FROM Customer
JOIN Orders ON Customer.C_CUSTKEY = Orders.O_CUSTKEY
JOIN Lineitem ON Orders.O_ORDERKEY = Lineitem.L_ORDERKEY
WHERE Lineitem.L_SUPPKEY = Supplier.S_SUPPKEY
GROUP BY Lineitem.L_SUPPKEY) AS "customer count"
FROM
Supplier
WHERE
"customer count" > 615;
Это запрос, который я сформулировал, но онПохоже, что он учитывает повторяющиеся заказы, поскольку в одном заказе может быть много предметов. Я не могу найти способ это исправить.
Пожалуйста, помогите