0

这是我的代码,

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 子句中包含子查询。有谁知道如何解决这个问题?

4

1 回答 1

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在您的主查询中调用它,它应该可以工作。

于 2014-05-05T06:37:51.870 回答