Запрос: Найти клиентов, которые сделали покупку каждого типа цветов, предлагаемых магазином - PullRequest
0 голосов
/ 24 сентября 2019

Мне нужно найти покупателей, которые сделали покупки на каждый тип цветочных букетов, предлагаемых магазином. Схема вывода : (Cust)

Найти в базе данных отдельных клиентов, которые не сделали ни одного заказа в течение 2017 года. Значения дат можно сравнивать с помощью стандартных операторов <,>, <=,> = Схема вывода : (Cust, CName)

Имена таблиц:

Цветы (Prod, Name, Description, Price)
Клиент (Cust, CName, CAddress, CCity, CZip, CState, Card, CardNo, Exp)
Заказ (Order, Prod, Cust, Date, RName, RAddress, RCity, RZip, RState)

Какое решение для этих двух запросов?

1 Ответ

0 голосов
/ 24 сентября 2019

Для первого запроса, Вы можете попробовать ниже -

SELECT C.CName
FROM Customer C
JOIN Order F ON C.CUST = O.CUST
JOIN Flowers F ON F.PROD = O.PROD
GROUP BY O.CUST
HAVING COUNT(DISTINCT PROD) = (SELECT COUNT(DISTINCT PROD) FROM Flowers)

Для второго запроса, Вы можете попробовать -

SELECT DISTINCT C.CUST, C.CName
FROM Customer C
WHERE C.CUST NOT EXIST (SELECT 1
                        FROM Order O
                        WHERE O.CUST = C.Cust
                        AND YEAR(Date) = 2017);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...