我有一个标准化的表的SQL查询:基于其他表
`Table: TheMovies`
id | MovieName
---------------------
1 | Zootopia
2 | Moana
3 | Toy Story
`Table: TheGenres`
id | GenreName
---------------------
21 | Action
22 | Animation
23 | Adventure
`Table: mMoviesGenres`
movieID | genreID
---------------------
1 | 21
1 | 23
2 | 22
2 | 21
3 | 23
3 | 21
一切工作正常,但我需要一个查询,它会显示我在同一流派相似的电影(在我们的例子中,我们需要MovieID类似电影= 1,应该输出MovieID = 3作为结果)。
你可以给我一个SQL查询,所以我有一个这样做的基本思路,能够创建更高级的查询?
我的查询,到目前为止,是:
SELECT
TheMovies.*
FROM
mMoviesGenres
JOIN TheMovies ON mMoviesGenres.movieID = TheMovies.id
WHERE
mMoviesGenres.genreID IN
(
SELECT
genreID
FROM
mMoviesGenres
WHERE
movieID = 1
)
**在我看来,该表:TheMovies不需要做什么,我问
这是MySQL还是SQL Server?另外,你已经尝试过了什么?你究竟在干什么? –
我尝试这样做:SELECT TheMovies * FROM mMoviesGenres \t JOIN TheMovies ON mMoviesGenres.movieID = TheMovies.id \t WHERE mMoviesGenres.genreID \t IN(SELECT genreID FROM mMoviesGenres WHERE movieID = 1 – Coder
仍是问题的MySQL或SQL – C4u