SQL查询再次出现问题

时间:2015-03-29 08:09:16

标签: sql database ms-access

再一次......在知之甚少的情况下,我不得不在此发布愚蠢的问题,再次提供帮助和提示将非常感激。

情况 - 列出两部以上电影中出现的所有电影明星的名字和姓氏,这两部电影至少获得两项奥斯卡奖提名,平均评分为4或更低。

..再一次这段代码是错误的,因为我必须加入3个表格(我很难通过加入2表格)然而这就像我的知识给我带来的理解一样。

    SELECT STAR.starFirstName, STAR.starLastName
    FROM (STAR INNER JOIN MOVSTAR ON STAR.starID=MOVSTAR.starID)
    INNER JOIN MOVIE ON MOVSTAR.mvID=MOVIE.mvID)
    WHERE MOVIE.noms >=2
    AND critRate <4;

2 个答案:

答案 0 :(得分:0)

尝试:

    SELECT STAR.starFirstName, STAR.starLastName
    FROM STAR
          JOIN MOVSTAR 
               ON STAR.starID  = MOVSTAR.starID
          JOIN MOVIE 
               ON MOVSTAR.mvID = MOVIE.mvID
    WHERE MOVIE.noms >= 2
    AND critRate <= 4

答案 1 :(得分:0)

您需要GROUP BY才能获得演员的平均评分。 HAVING子句用于聚合函数的条件。

SELECT STAR.starFirstName, STAR.starLastName
FROM STAR
    INNER JOIN MOVSTAR ON STAR.starID = MOVSTAR.starID
    INNER JOIN MOVIE ON MOVSTAR.mvID = MOVIE.mvID
WHERE MOVIE.noms >= 2
GROUP BY STAR.starFirstName, STAR.starLastName
HAVING AVG(critRate) < 4
   AND COUNT(*) >= 2