Как правильно написать подзапросы, которые используют математические функции для вычисления столбца в лице "Error Code 1248" Производные таблицы должны иметь свои собственные Alises?
Меня попросили в упражнении вычислить три значения из двух столбцов, List_price и discount_amount. частично моя проблема в том, что мои инстинкты программирования хотят воспрепятствовать моей способности полностью понять то, чему учат.
Может кто-нибудь показать мне, что не так с кодом и предоставить шаблон, чтобы лучше справиться с ситуацией.
SELECT list_price, discount_percent, product_name, raw_percent,
discount_amount, (list_price - discount_amount) AS discount_price
FROM (
SELECT discount_percent,
list_price,
(discount_percent /10) = raw_percent
(list_price * raw_percent) = discount_amount
) ORDER BY discount_price DESC LIMIT 5;
1 ответ
Производные таблицы должны иметь свои псевдонимы
MySQL требует, чтобы, если вы ищете доступ к столбцам набора результатов, возвращаемых подзапросом, то подзапрос должен быть правильно псевдонимом во внешнем запросе (даже если этот псевдоним фактически не используется в запросе).
Вам нужно будет создать псевдоним подзапроса, который вы используете в предложении WHERE:
SELECT ...
FROM (
SELECT ...
) AS some_alias
ORDER BY discount_price DESC LIMIT 5;
Другое замечание по вашему запросу:
- столбец "product_name" должен быть возвращен подзапросом, иначе он не будет доступен во внешнем запросе
- в подзапросе после "raw_percent" отсутствует кома