| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > Помогите разобраться в чем ошибка |
| Автор: SQL123 14.10.2022, 15:25 |
| Помогите, пожалуйста, разобраться с ошибкой. Не могу понять, чего не хватает в коде. Код корректно отрабатывает добавление столбца и рассчитывает скидку, но при попытке отфильтровать, выдает ошибку, что новый столбец неизвестен таблице. Не понимаю, что нужно дописать. Заранее спасибо! Вот мое "творчество": 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 |
| Автор: Oldshelf 14.10.2022, 17:27 | ||
Здесь два отдельных запроса. Поэтому `new_price` во втором запросе не определена. |
| Автор: SQL123 14.10.2022, 17:32 | ||||
Подскажите, пожалуйста, как их объединить? |
| Автор: Akina 14.10.2022, 19:27 |
| Выбросить второй запрос (он нахрен не нужен), оставить только ORDER BY, который вставить в первый запрос. |
| Автор: SQL123 18.10.2022, 10:57 |
| Спасибо большое! |