Можно ли использовать предварительный расчет в MySQL VIEW?Я много играл с этим и искал в Интернете (в том числе на SO), но я ничего не понимаю.
Если это возможно, я должен использовать синтаксис неправильного типа.Например, если у меня что-то вроде этого (упрощенный пример), оно выдаст мне ошибку, что он не знает, где найти factory_1_revenue и т. Д.
CREATE VIEW [myview] AS
SELECT
(t1.qty * t1.price) AS factory_1_revenue,
(t2.qty * t2.price) AS factory_2_revenue,
(THIS_VIEW.factory_1_revenue + THIS_VIEW.factory_2_revenue) AS factories_revenue
FROM table1 AS t1
JOIN table2 AS t2 ON t1.id = t2.id;
Я могу создать другое представление поверхэто, но я бы предпочел сохранить его простым и избегать вложенных представлений, если это возможно.
Вот некоторые дополнительные подробности:
+-------------------------------+
| table1 |
+-------------------------------+
| id | product_id | qty | price |
+----+------------+-----+-------+
| 1 | 1 | 50 | 3.00 |
+----+------------+-----+-------+
| 2 | 2 | 65 | 2.00 |
+----+------------+-----+-------+
| 3 | 3 | 70 | 2.50 |
+----+------------+-----+-------+
+-------------------------------+
| table2 |
+-------------------------------+
| id | product_id | qty | price |
+----+------------+-----+-------+
| 1 | 1 | 40 | 3.00 |
+----+------------+-----+-------+
| 2 | 2 | 20 | 2.00 |
+----+------------+-----+-------+
| 3 | 3 | 30 | 2.50 |
+----+------------+-----+-------+
По сути, как я могу ссылаться на вычисленное значение с учетом псевдонима ASсозданный в операторе SELECT VIEW:
( factory_1_revenue + factory_2_revenue ) AS factories_revenue
Без получения ошибки?
(Мое реальное представление, база данных и т. Д. Намного сложнее, я попытался упростить / минимизировать это, чтобы просто показать мой вопрос.)