我有三张桌子,它们之间有关系集。一切都很好。
表生产力:
ProducentID (PK, int)
ProducentName (nvarchar)制作的表:
ProducentID (PK, FK, int)
FilmID (PK, FK, int)台片:
FilmID (PK, int)
FilmName (nvarchar)每个制作者制作了不同数量的电影。
我需要生成以下输出:
ProducentName | NumberOfProducedFilms例如:
ProducentName | NumberOfProducedFilms
-------------------------------------
Peter P. | 2
John J. | 4
Michael M. | 7
Edward E. | 3发布于 2022-03-26 11:31:42
您应该使用count和group by,如下所示
SELECT P.producentname,
Count(filmName) NumberOfProducedFilms
FROM producent P
JOIN produced PD
ON P.producentid = PD.producentid
JOIN film F
ON PD.filmid = F.filmid
GROUP BY P.producentname 发布于 2022-03-26 20:21:04
谢谢你@ the 1991的提示!
这是完整的答案:
SELECT P.ProducentName, COUNT(PD.FilmID) NumberOfProducedFilms FROM Producent P
JOIN Produced PD ON P.ProducentID = PD.ProducentID
JOIN Film F ON PD.FilmID = F.FilmID
GROUP BY P.ProducentName
ORDER BY P.ProducentName ASChttps://stackoverflow.com/questions/71627608
复制相似问题