Da Unterabfragen in Ansichten nicht zulässig sind, müssen Sie sie simulieren, indem Sie mehrere Ansichten erstellen.
Diese Abfrage löst beispielsweise Ihr Problem, wenn sie direkt ausgeführt wird:
SELECT
TotalCircles + TotalSquares AS TotalShapes
FROM
(SELECT
BlueCirles + RedCircles AS TotalCircles,
BlueSquares + RedSquares AS TotalSquares
FROM
(SELECT
2 AS BlueCirles,
3 AS RedCircles,
4 AS BlueSquares,
5 AS RedSquares
) AS shapes
) as totals;
Gemäß der MySQL-Dokumentation Ansichten haben die Einschränkung, dass sie keine Unterabfragen in der FROM-Klausel enthalten können. Um diese Einschränkung zu umgehen und diese Abfrage in eine Ansicht umzuwandeln, teilen Sie sie in drei Ansichten auf (eine für jede Unterabfrage), wobei die letzte die gewünschte Kombination von Feldern enthält:
CREATE VIEW shapes AS
SELECT
2 AS BlueCirles,
3 AS RedCircles,
4 AS BlueSquares,
5 AS RedSquares;
CREATE VIEW totals AS
SELECT
BlueCirles + RedCircles AS TotalCircles,
BlueSquares + RedSquares AS TotalSquares
FROM
shapes;
CREATE VIEW result AS
SELECT
TotalCircles + TotalSquares AS TotalShapes
FROM
totals;
SELECT * FROM result;