Страницы

Поиск по вопросам

понедельник, 10 февраля 2020 г.

SQL. Подзапросы. В чем ошибка (вывод всех продавцов, которые продали больше чем продавец N)?

#sql #база_данных #oracle #запрос #запрос_в_запросе


Есть  таблица SALES c полями:


ID_SALE - ID продажи
name_good - название товара
date_sale - дата продажи
FIO_saler -ФИО продавца
price- цена товара


Нужно вывести всех продавцов, которые продали больше чем продавец “Иванов Иван” (записи
с таким продавцом должны быть) за май 2015.

Вопрос: почему возникает ошибка, как её исправить, чтобы выводилась нужная информация?

 select FIO_saler,price
  from sales
 where sum(price)> all
    (SELECT price
     from sales
     where FIO_saler='Иванов Иван Иванович' 
    );
    /

    


Ответы

Ответ 1



SELECT FIO_saler, SUM(price) AS summa FROM sales WHERE date_sale > '2015-12-23' AND date_sale < '2015-12-31' GROUP BY FIO_saler HAVING SUM(price) > (SELECT SUM(price) FROM sales WHERE FIO_saler='Иванов Иван Иванович'); Проверка

Ответ 2



SELECT FIO_saler, price FROM SALES WHERE FIO_saler IN (SELECT FIO_saler FROM SALES GROUP BY FIO_saler HAVING SUM(PRICE) > (SELECT SUM(price) FROM SALES WHERE FIO_saler = 'Иванов Иван Иванович') ) AND date_sale BETWEEN _Начало_ AND _Конец_ Вам остается только наложить условие на период продажи вместо _Начало_ и _Конец_ в соответствии с типом данных поля.

Комментариев нет:

Отправить комментарий