Тъй като подзаявките не са разрешени в изгледи, ще трябва да ги симулирате чрез създаване на множество изгледи.
Например, тази заявка ще реши проблема ви, ако бъде изпълнена директно:
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;
Според документацията на MySQL изгледите имат ограничението да не могат да съдържат подзаявки в клаузата FROM. За да заобиколите това ограничение и да превърнете тази заявка в изглед, разделете я на 3 изгледа (по един за всяка подзаявка), като последният дава желаната комбинация от полета:
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;