Как обратиться напрямую к sql-выборке, полученной через JOIN?
Есть запрос:
SELECT (book.amount+supply.amount) AS Количество
FROM book INNER JOIN supply USING (author_id)
Cуществует ли возможность как-то обратиться по имени к выборке, созданной JOIN'ом? Грубо говоря, хочу вместо
SELECT (book.amount+supply.amount) AS Количество
написать что-то вроде
SELECT (SUM(Таблица_Созданная_Выборкой_Через_JOIN.amount) ) AS Количество
Вероятно, вопрос крайне тривиальный, но я только начинаю знакомиться с SQL.
Заранее спасибо!
p.s. может показаться некорректным замена book.amount+supply.amount на SUM(amount), но в контексте таблицы, с которой я имею дело - оно имеет место. Вопрос именно в том, как обратиться к выборке ?
Ответы (1 шт):
Большинство SQL-серверов поддерживают вложенные подзапросы
SELECT (SUM(Таблица_Созданная_Выборкой_Через_JOIN.amount) ) AS Количество
FROM (
SELECT (book.amount+supply.amount) AS amount
FROM book INNER JOIN supply USING (author_id)
) AS Таблица_Созданная_Выборкой_Через_JOIN
Также если вам нужно один и тот же подзапрос использовать часто, в разных запросах, то можно создать представление (VIEW). Синтаксис сильно зависит от используемой СУБД, подробности смотрите в справке.