@ummik

Помощь в решении задачи по SQL запросам?

Есть задания: https://i.imgur.com/h1X72Fo.png

Помогите, пожалуйста, решить 2.а задание.
Я совсем юный падаван, пытаюсь на заданиях учится. Простые задания понятны и уже опробовал, но чуть сложнее и все, затык.

Это наброски, понимаю что скорее всего это абракадабра, но пока так:
select CUSTOMER.customer_key, CUSTOMER.age, PURCHASE.customer_key, PURCHASE.product_key, PURCHASE.date, PRODUCT.name, PRODUCT.product_key
FROM PRODUCT JOIN PURCHASE
on (PRODUCT.product_key = PURCHASE.product_key and product.name = 'плюшевый мишка')
FROM PURCHASE JOIN CUSTOMER
on CUSTOMER.customer_key = PURCHASE.customer_key
where product.name = 'плюшевый мишка';
where purchase.date = '2018' (тут нужно вроде интервал)
//WHERE `time_stamp` BETWEEN '2013-01-01 00:00:00' AND '2013-12-31 23:59:59'//
SELECT AVG(AGE) AS avg_age FROM CUSTOMER;
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SELECT AVG(`age`)
  FROM `CUSTOMER`
  WHERE `CUSTOMER_KEY` IN (
    SELECT `CUSTOMER_KEY`
      FROM `PURCHACE`
      WHERE `PRODUCT_KEY` IN (
        SELECT `PRODUCT_KEY`
          FROM `PRODUCT`
          WHERE `NAME` = 'плюшевый мишка'
      ) AND `DATE` BETWEEN '2018-01-01' AND '2018-12-31'
  )

Если хотите с JOIN'ами, то
SELECT AVG(`age`)
  FROM (
    SELECT DISTINCT `c`.`CUSTOMER_KEY`, `c`.`AGE` AS `age`
      FROM `PRODUCT` AS `p`
      JOIN `PURCHACE` AS `pu`
        ON `p`.`NAME` = 'плюшевый мишка'
        AND `pu`.`DATE` BETWEEN '2018-01-01' AND '2018-12-31'
        AND `pu`.`PRODUCT_KEY` = `p`.`PRODUCT_KEY`
      JOIN `CUSTOMER` AS `c`
        ON `c`.`CUSTOMER_KEY` = `pu`.`CUSTOMER_KEY`
  ) AS `t`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы