MySQL:FROM子句限制中的带有子查询的视图

在MySQL 5.0中,为什么尝试在FROM子句中创建带有子查询的视图时会发生以下错误?

错误1349(HY000):视图的SELECT在FROM子句中包含一个子查询

如果这是MySQL引擎的限制,那么为什么他们还没有实现此功能呢?

此外,对于此限制有什么好的解决方法?

是否有任何变通方法可用于FROM子句中的任何子查询,或者是否存在某些无法在FROM子句中使用子查询无法表达的查询?


查询示例(已包含在注释中):

SELECT temp.UserName 

FROM (SELECT u1.name as UserName, COUNT(m1.UserFromId) as SentCount

FROM Message m1, User u1

WHERE u1.uid = m1.UserFromId

Group BY u1.name HAVING SentCount > 3 ) as temp

回答:

您的查询不能只写成:

SELECT u1.name as UserName from Message m1, User u1 

WHERE u1.uid = m1.UserFromID GROUP BY u1.name HAVING count(m1.UserFromId)>3

这也应该有助于解决MySQL中子查询的已知速度问题

以上是 MySQL:FROM子句限制中的带有子查询的视图 的全部内容, 来源链接: utcz.com/qa/409856.html

回到顶部