再一次......在知之甚少的情况下,我不得不在此发布愚蠢的问题,再次提供帮助和提示将非常感激。
情况 - 列出两部以上电影中出现的所有电影明星的名字和姓氏,这两部电影至少获得两项奥斯卡奖提名,平均评分为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;
答案 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