Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться в чем ошибка, SQL запрос 
:(
    Опции темы
SQL123
Дата 14.10.2022, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.10.2022

Репутация: нет
Всего: нет



Помогите, пожалуйста, разобраться с ошибкой. Не могу понять, чего не хватает в коде.
Код корректно отрабатывает добавление столбца и рассчитывает скидку, но при попытке отфильтровать, выдает ошибку, что новый столбец неизвестен таблице. Не понимаю, что нужно дописать.
Заранее спасибо!

Вот мое "творчество":

SELECT author, title, amount, price,
    ROUND(IF(amount>10, price*0.75, price),2) AS new_price
FROM book;
SELECT * FROM book ORDER BY author ASC, new_price DESC;


Задание
На складе решили снизить цену тех книг, которых на складе слишком много. Для книг, количество которых больше 10 снизить цену на 25%. Цену остальных книг оставить без изменения. Написать запрос, куда включить автора, название книги, количество, цену и новую цену, последний столбец назвать new_price. Новую цену округлить до двух знаков после запятой. Информацию отсортировать сначала по фамилии автора в алфавитном порядке, а затем по убыванию новой цены книги.

Таблица: book

 book_id | title                 | author           | price  | amount |
+---------+-----------------------+------------------+--------+--------+
| 1       | Мастер и Маргарита    | Булгаков М.А.    | 670.99 | 3      |
| 2       | Белая гвардия         | Булгаков М.А.    | 540.50 | 5      |
| 3       | Идиот                 | Достоевский Ф.М. | 460.00 | 10     |
| 4       | Братья Карамазовы     | Достоевский Ф.М. | 799.01 | 2      |
| 5       | Стихотворения и поэмы | Есенин С.А.      | 650.00 | 15 

PM MAIL   Вверх
Oldshelf
Дата 14.10.2022, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 22.4.2018

Репутация: нет
Всего: 4



Код

SELECT author, title, amount, price,
    ROUND(IF(amount>10, price*0.75, price),2) AS new_price
FROM book;
SELECT * FROM book ORDER BY author ASC, new_price DESC;

Здесь два отдельных запроса. Поэтому `new_price` во втором запросе не определена.
PM MAIL WWW   Вверх
SQL123
Дата 14.10.2022, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.10.2022

Репутация: нет
Всего: нет



Цитата(Oldshelf @ 14.10.2022,  17:27)
Код

SELECT author, title, amount, price,
    ROUND(IF(amount>10, price*0.75, price),2) AS new_price
FROM book;
SELECT * FROM book ORDER BY author ASC, new_price DESC;

Здесь два отдельных запроса. Поэтому `new_price` во втором запросе не определена.


Подскажите, пожалуйста, как их объединить?
PM MAIL   Вверх
Akina
Дата 14.10.2022, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Выбросить второй запрос (он нахрен не нужен), оставить только ORDER BY, который вставить в первый запрос.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
SQL123
Дата 18.10.2022, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.10.2022

Репутация: нет
Всего: нет



Спасибо большое!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.1259 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.