Ms-Access

屬於喜劇類型和動畫類型的電影數量

  • April 10, 2016

給定管理電影數據的網站“eMovies”的數據庫。

用 SQL 查詢既屬於喜劇類型又屬於動畫類型的電影的數量。

表格:

Actors 
   ActorID      PK
   Firstname 
   LastName

Directors 
   DirectorID   PK
   Firstname 
   LastName

Genres 
   GenreID      PK
   GenreDescr 

Movies 
   MovieID      PK
   MovieName 
   Year

ActorsMovies 
   MovieID      PK
   ActorID      PK 

DirectorsMovies 
   MovieID      PK
   DirectorID   PK 

GenresMovies 
   MovieID      PK
   GenreID      PK 

我的嘗試:

SELECT COUNT(GenresMovies.MovieID)
FROM GenresMovies
WHERE GenreID='207' and GenreID='202';

202 和 207 是動畫類型和喜劇的 ID。

我試圖解決這個問題幾個小時沒有成功,我的程式碼不起作用。

這是問題的第四部分。這是第零部分和第 1 部分。順序無所謂

像這樣的東西應該​​可以工作:

select count(1)
from (
   select MovieID
   from GenresMovies
   where GenreID in (207,202)
   group by MovieID
   having count(distinct GenreID) = 2
) as t

內部選擇在 202 和 207 中選擇具有 2 個不同類型的電影,外部選擇計算有多少。

由於 GenreID、MovieID 是主鍵,所以不需要 distinct:

select count(1)
from (
   select MovieID
   from GenresMovies
   where GenreID in (207,202)
   group by MovieID
   having count(GenreID) = 2
) as t

引用自:https://dba.stackexchange.com/questions/125250