开发者社区> 问答> 正文

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

展开
收起
保持可爱mmm 2020-05-11 16:45:27 611 0
1 条回答
写回答
取消 提交回答
  • 您的查询不能只写成:

    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中子查询的已知速度问题来源:stack overflow

    2020-05-11 16:45:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像