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

    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`
    Ответ написан
    8 комментариев