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
子句中的子查询。