由于视图中不允许子查询,因此您需要通过创建多个视图来模拟它们。
例如,如果直接执行此查询,将解决您的问题:
SELECt TotalCircles + TotalSquares AS TotalShapesFROM (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 ASSELECt 2 AS BlueCirles, 3 AS RedCircles, 4 AS BlueSquares, 5 AS RedSquares;CREATE VIEW totals ASSELECT BlueCirles + RedCircles AS TotalCircles, BlueSquares + RedSquares AS TotalSquaresFROM shapes;CREATE VIEW result ASSELECt TotalCircles + TotalSquares AS TotalShapesFROM totals;SELECt * FROM result;



