Вывод уникальных клиентов - MySQL
Формулировка задачи:
Добрый день! Прошу помочь.
Есть три таблицы в базе данных:
purchases:
- id - ID покупки
- price - сумма чека
- user_id - ID пользвователя
- purchase_date - время и дата пробития чека
purchase_positions:
- id - ID строки чека
- purchase_id - ID покупки
- product_id - ID товара
- quantity - количество (в ед. измерения) данного товара в этой строке чека
products:
- id - ID товара
- name - наименование (строка)
- sku - SKU товара (строка)
Не могу сообразить как написать запрос, который бы выбрал список уникальных клиентов, которые совершили покупку с 2017-01-01 11:00 по 2017-02-16 12:00,
при этом в чеках должен иметься хотя бы один товар с SKU 'AAA', 'BBB' или 'CCC'?
Решение задачи: «Вывод уникальных клиентов»
textual
Листинг программы
SELECT DISTINCT user_id FROM purchases JOIN purchase_positions pp ON purchases.Id = pp.purchase_id JOIN products ON products.Id = pp.product_id WHERE purchases.purchase_date BETWEEN '2017-01-01 11:00' AND '2017-02-16 12:00' AND products.SKU IN ('AAA', 'BBB', 'CCC')
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д