我創建了一個包含電影和演員等。其中信息的數據庫,我創建了這些表:的SQL Server:select語句錯誤
CREATE TABLE Movie
(
Movie_ID PRIMARY KEY NOT NULL idenity(1,1),
Movie_title varchar(50),
....
)
CREATE TABLE Actor
(
Actor_ID PRIMARY KEY NOT NULL identity(1,1),
Actor_Name varchar(50),
Actor_Surname varchar(50),
.....
)
,我使用下表將它們鏈接:
CREATE TABLE Has_Actor
(
Has_Actor_ID PRIMARY KEY NOT NULL identity(1,1),
Has_Actor_M_ID foreign key references Movie(Movie_ID),
Has_Actor_A_ID foreign key references Actor(Actor_ID),
)
現在我想查看的演員是誰在大多數電影,姓名發揮,所以我嘗試了下面的select語句:
SELECT
Actor.Actor_Name, Actor.Actor_Surname
FROM
Actor, Has_Actor
WHERE
Has_Actor_A_ID = Actor.Actor_ID
AND Actor.Actor_ID = (SELECT MAX(distinct COUNT(Has_Actor.Actor_ID)))
當我執行此我得到這個錯誤:
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
我知道有一個錯誤的地步,我使用max
和count
功能,但我不明白什麼是錯的。你能幫我麼?
[不良習慣踢:使用舊式聯接(http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad -habits-to-kick-using-old-style-joins.aspx) - 舊式*逗號分隔的表*樣式列表已停用ANSI - ** 92 ** SQL標準(大於** 20 ) –
在這個子查詢中你沒有提到表名SELECT MAX(distinct COUNT(Has_Actor.Actor_ID)) –