Eftersom underfrågor inte är tillåtna i vyer måste du simulera dem genom att skapa flera vyer.
Till exempel kommer den här frågan att lösa ditt problem om den körs direkt:
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;
Enligt MySQL-dokumentationen vyer har begränsningen att inte kunna innehålla underfrågor i FROM-satsen. För att kringgå denna begränsning och förvandla den här frågan till en vy, dela upp den i tre vyer (en för varje underfråga) där den sista ger önskad kombination av fä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;