![](/img/trans.png)
[英]Mysql2::Error: View's SELECT contains a subquery in the FROM clause
[英]Creating view but get error “Views SELECT contains subquery in the FROM clause”
这是我正在使用的代码;
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;
我正在尝试计算每个特定 integer 有多少行 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 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.