Aangezien subquery's niet zijn toegestaan in weergaven, moet u ze simuleren door meerdere weergaven te maken.
Deze query lost bijvoorbeeld uw probleem op als deze direct wordt uitgevoerd:
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;
Volgens de MySQL-documentatie views hebben de beperking dat ze geen subquery's kunnen bevatten in de FROM-component. Om deze beperking te omzeilen en van deze zoekopdracht een weergave te maken, verdeelt u deze in 3 weergaven (één voor elke subquery) waarbij de laatste de gewenste combinatie van velden geeft:
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;