Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 正在创建视图,但获取错误“;视图选择在FROM子句中包含子查询;_Mysql_Sql_Mariadb - Fatal编程技术网

Mysql 正在创建视图,但获取错误“;视图选择在FROM子句中包含子查询;

Mysql 正在创建视图,但获取错误“;视图选择在FROM子句中包含子查询;,mysql,sql,mariadb,Mysql,Sql,Mariadb,这是我正在使用的代码 CREATE VIEW MostBuys AS SELECT Kundnummer, AntalBest FROM Ordrar JOIN (SELECT OrderNr, COUNT(*) AS AntalBest FROM OrderContent GROUP BY OrderNr) BesAm ON BesAm.OrderNr = Ordrar.OrderNr; CREATE VIEW MostBuys AS SELECT o.Kundnummer,

这是我正在使用的代码

CREATE VIEW MostBuys AS
SELECT Kundnummer, AntalBest FROM Ordrar
JOIN (SELECT OrderNr, COUNT(*) AS AntalBest
FROM OrderContent
GROUP BY OrderNr) BesAm ON BesAm.OrderNr = Ordrar.OrderNr;
CREATE VIEW MostBuys AS
    SELECT o.Kundnummer,
           (SELECT COUNT(*) AS AntalBest
            FROM OrderContent oc
            WHERE oc.OrderNr = o.OrderNr
           ) as AntalBest
    FROM Ordrar o
我试图计算每个特定整数的OrderNr行数,然后将其与相应的Kundnummer连接起来。这一部分本身起作用

SELECT Kundnummer, AntalBest FROM Ordrar
JOIN (SELECT OrderNr, COUNT(*) AS AntalBest
FROM OrderContent
GROUP BY OrderNr) BesAm ON BesAm.OrderNr = Ordrar.OrderNr;

但是我不能用它创建视图。

MySQL不允许在视图的
FROM
子句中使用子查询。啊

您可以将其替换为相关子查询:

这是我正在使用的代码

CREATE VIEW MostBuys AS
SELECT Kundnummer, AntalBest FROM Ordrar
JOIN (SELECT OrderNr, COUNT(*) AS AntalBest
FROM OrderContent
GROUP BY OrderNr) BesAm ON BesAm.OrderNr = Ordrar.OrderNr;
CREATE VIEW MostBuys AS
    SELECT o.Kundnummer,
           (SELECT COUNT(*) AS AntalBest
            FROM OrderContent oc
            WHERE oc.OrderNr = o.OrderNr
           ) as AntalBest
    FROM Ordrar o

MySQL不允许在视图的
FROM
子句中进行子查询。啊

您可以将其替换为相关子查询:

这是我正在使用的代码

CREATE VIEW MostBuys AS
SELECT Kundnummer, AntalBest FROM Ordrar
JOIN (SELECT OrderNr, COUNT(*) AS AntalBest
FROM OrderContent
GROUP BY OrderNr) BesAm ON BesAm.OrderNr = Ordrar.OrderNr;
CREATE VIEW MostBuys AS
    SELECT o.Kundnummer,
           (SELECT COUNT(*) AS AntalBest
            FROM OrderContent oc
            WHERE oc.OrderNr = o.OrderNr
           ) as AntalBest
    FROM Ordrar o

您可以使用聚合来解决MySQL视图的这一限制:

CREATE VIEW MostBuys AS
SELECT o.Kundnummer, COUNT(oc.OrderNr) AS AntalBest
FROM Ordrar o
LEFT JOIN OrderContent oc ON oc.OrderNr = o.OrderNr
GROUP BY o.Kundnummer

您可以使用聚合来解决MySQL视图的这一限制:

CREATE VIEW MostBuys AS
SELECT o.Kundnummer, COUNT(oc.OrderNr) AS AntalBest
FROM Ordrar o
LEFT JOIN OrderContent oc ON oc.OrderNr = o.OrderNr
GROUP BY o.Kundnummer

所以问题是我试图在From子句中加入一个子查询?@LinusLiljequist。正如我在回答中所说,问题是MySQL不支持视图中的
FROM
子句中的子查询。因此,问题是我正试图在FROM子句中加入子查询?@LinusLiljequist。正如我在回答中所说,问题在于MySQL不支持视图中
FROM
子句中的子查询。