所以我试图选择多个表并进行比较 starNumb,来自Star表和Movie表的mvNumb,如果两者匹配,那么我希望它返回/显示starName以及该StarName与mvNumb相关的次数的总数(如果有意义)。
到目前为止,我已经掌握了这个功能,而且还没有发挥作用,我敢肯定这很简单但是很挣扎。
SELECT STARNUMB.STAR, MVNUMB.MOVIE
FROM MOVIES JOIN STAR
where STARNUMB = MVNUMB;
我要从中得到的是如下所示的内容。
第1列 StarName = TestName1
第2列 MovNumb = 1
含义是该明星已经在电影中出现过1次。
表和FD看起来像这样:
粗体=主键
答案 0 :(得分:1)
在星星和电影之间存在一个 n-m 关系,这导致了一个桥接表MovStar
,您需要将此关系添加到联接中。但是,只要您只想计算每颗星的电影数量,就只需要加入Movies
和MovStar
:
SELECT m.starName, count(*)
FROM MOVIES m JOIN MovStar ms
on m.STARNUMB = ms.starNumb
group by m.starName
order by 2 desc