Мой вопрос заключается в том, в чем разница между CTE
и View
в SQL. Я имею в виду, в каком случае я должен использовать CTE
, а в каком случае View
. Я знаю, что оба являются своего рода виртуальными таблицами, но я не могу различать их использование.
Я нашел аналогичный вопрос здесь, но он касается производительности.
Обновление 1:
Например: у меня есть база данных, заполненная сделками (tbl_trade
). Мне нужно выбрать из 3,5 миллионов записей только те сделки, которые были открыты в текущем месяце до текущего времени, а затем манипулировать данными (с разными запросами к виртуальной таблице - это похоже на просмотр). Проблема здесь в том, что я хочу SUM
из 3-4 столбцов, а затем мне нужно SUM
некоторых столбцов и создать виртуальный столбец с результатом (выглядит как CTE).
Например: tbl_trade
имеет столбцы: profit
, bonus
и expenses
. Мне нужны SUM(profit)
,SUM(bonus)
,SUM(expenses)
и новый столбец total
, который будет равен SUM(profit)
+SUM(bonus)
+SUM(expenses)
.
PS. Повторный запуск запросов для SUM
невозможен, так как у меня уже есть результат.
Заранее спасибо!