Как использовать псевдоним столбца? - MySQL
Формулировка задачи:
Здравствуйте
Допустим есть такой запрос, содержащий вложенные запросы:
Чтобы посчитать сумму полей `one` и `two`, пробовал делать так:
Но такой запрос будет выдавать ошибку
Поэтому приходится сейчас делать так:
Такой запрос работает, но мне кажется, что можно как-то проще - как во втором запросе.
Вопрос, можно ли как-то записать запрос из примера 3, чтобы для получения суммы не приходилось заново запрашивать слагаемые, которые только что и так запросили для первых двух столбцов?
SELECT (SELECT `one` FROM `table1`) AS `one`, (SELECT `two` FROM `table2`) AS `two` FROM `table` ORDER BY `one`
SELECT (SELECT `one` FROM `table1`) AS `one`, (SELECT `two` FROM `table2`) AS `two`, `one`+`two` AS `need_sum` FROM `table` ORDER BY `one`
SELECT (SELECT `one` FROM `table1`) AS `one`, (SELECT `two` FROM `table2`) AS `two`, (SELECT `one` FROM `table1`)+(SELECT `two` FROM `table2`) AS `need_sum` FROM `table` ORDER BY `one`
Решение задачи: «Как использовать псевдоним столбца?»
textual
Листинг программы
SELECT t.`one` + t.`two` AS `need_sum` FROM (SELECT (SELECT `one` FROM `table1`) AS `one`, (SELECT `two` FROM `table2`) AS `two`, FROM `table`) AS t ORDER BY t.`one`
Объяснение кода листинга программы
В представленном коде происходит следующее:
- Создается подзапрос (query) с использованием операторов SELECT, в которых выбираются необходимые столбцы из таблиц
table1
иtable2
и присваиваются псевдонимыone
иtwo
соответственно. - Результат подзапроса сохраняется в новую таблицу (alias) с именем
t
. - В основной запрос (query) включается столбец
need_sum
, который вычисляется как сумма столбцовone
иtwo
из таблицыt
. - Для столбца
need_sum
задается псевдоним с помощью ключевого слова AS. - Результат основного запроса (query) сортируется по столбцу
one
из таблицыt
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д