Mysql 在不使用子查询的情况下重新构造CREATE视图的查询?

Mysql 在不使用子查询的情况下重新构造CREATE视图的查询?,mysql,Mysql,当我在数据库上运行查询时,它可以正常工作,但是一旦我尝试创建一个视图,我就会遇到(错误1349(HY000):视图的SELECT在FROM子句中包含一个子查询)。我读过一些其他帖子,问题是我无法在当前DB版本的视图中编写子查询。我将如何重新构造以下查询以实现相同的最终目标: CREATE VIEW vHW2_3_mmirkovi as ( SELECT n.Name, sum(n.profit) AS profit FROM (SELECT v.Name, (p.sell_Price - p.

当我在数据库上运行查询时,它可以正常工作,但是一旦我尝试创建一个视图,我就会遇到(错误1349(HY000):视图的SELECT在FROM子句中包含一个子查询)。我读过一些其他帖子,问题是我无法在当前DB版本的视图中编写子查询。我将如何重新构造以下查询以实现相同的最终目标:

CREATE VIEW vHW2_3_mmirkovi as (
SELECT n.Name, sum(n.profit) AS profit

FROM (SELECT v.Name, (p.sell_Price - p.cost) AS profit FROM dreamhome.A_Vendors AS v
    
INNER JOIN dreamhome.A_Products AS p ON v.V_Id = p.V_Id) AS n GROUP BY n.name ;)
不带CREATEVIEW语句的查询将生成

+--------+--------+
| Name   | profit |
+--------+--------+
| Austin |     10 |
| Grant  |     50 |
| James  |    290 |
| Wendy  |     10 |
+--------+--------+
4 rows in set (0.00 sec)
创建视图vHW2\u 3\u mmirkovi作为
选择v.名称,
利润总额(p.售价-p.成本)
来自dreamhome.A_供应商作为v
内部连接dreamhome.A_产品,作为v.v_Id上的p=p.v_Id
按v.名称分组;

请注意,针对MySQL中视图的查询不能使用底层索引,这使得它们的有用性受到质疑