【问题标题】:error #1349 view's select clause contains a subquery in the from clauseerror #1349 视图的 select 子句在 from 子句中包含子查询
【发布时间】:2014-06-21 08:55:26
【问题描述】:

这是我的代码,

Select CAST.first_name, CAST.last_name, `directors winning movies list`.castID, count(*) AwardsWon
From `directors winning movies list`, CAST  
WHERE `directors winning movies list`.castID = CAST.castID
Group By `directors winning movies list`.castID
Having count(*)
    = (Select Max(cnt)
       From (Select count(*) cnt
             From `directors winning movies list`
             Group By `directors winning movies list`.castID) z)

查询本身正确执行,但是当我尝试创建视图并保存它时,我收到错误 #1349 视图的选择子句在 from 子句中包含子查询。有谁知道如何解决这个问题?

【问题讨论】:

    标签: sql view querying


    【解决方案1】:

    MySQL 不允许使用子查询创建视图。 可能的解决方法是为每个子查询创建单独的视图。

    例如:

    CREATE VIEW movies_view AS
    SELECT COUNT(*) cnt
                 FROM `directors winning movies list`
                 GROUP BY `directors winning movies list`.castID) z)
    

    CREATE VIEW movies_view_count AS
    SELECT MAX(cnt) from movies_view
    

    在您的主查询中调用movies_view_count,它应该可以工作。

    【讨论】:

    • 抱歉,在主查询中调用 movies_view_count 是什么意思,它应该可以工作? (我是 SQL 新手 :))
    • 谢谢你我想通了!!
    • 很高兴为您提供帮助。如果您认为它有帮助并修复了您遇到的错误,请接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 2014-07-09
    • 1970-01-01
    • 2012-01-15
    • 2012-08-28
    相关资源
    最近更新 更多