PHP至少匹配两种类型(mysql)
我正在创建一个简单的电影数据库,其中有三个表: 电影 带电影id、电影名称、电影年份PHP至少匹配两种类型(mysql),php,mysql,match,Php,Mysql,Match,我正在创建一个简单的电影数据库,其中有三个表: 电影 带电影id、电影名称、电影年份 体裁 带有流派id、流派名称 电影类型(多对多协会) 用idgenre,idmovie 我把电影和流派联系起来,比如: Movie id Genre id 1 1 1 2 2 4 2 1 因此,一部电影可以有更多的类型。现在,在一个.php页面中,我检索一个电影id并打印关于这部电影的信息
体裁 带有流派id、流派名称
电影类型(多对多协会) 用idgenre,idmovie 我把电影和流派联系起来,比如:
Movie id Genre id
1 1
1 2
2 4
2 1
因此,一部电影可以有更多的类型。现在,在一个.php页面中,我检索一个电影id并打印关于这部电影的信息,我还想只打印至少匹配两种类型的电影,如:
电影id=1==>(例如《泰坦尼克号》,类型:戏剧、浪漫、冒险)
现在php脚本应该打印所有至少匹配两种类型的电影,所以如果有一部电影有两种类型:戏剧、冒险,那么应该打印
有人能帮我做这件事吗?php查询应该是什么?
提前感谢:D在where子句中放置另一个查询,即where(select COUNT(*)…)>1非常感谢,我也使用了JOIN和COUNT,但方式不同,这很有效,现在我了解了如何使用JOIN。。。再次感谢你:D
SELECT
movie_id, movie_name, movie_year, GROUP_CONCAT(DISTINCT genre.genre_name)
FROM movies
JOIN movie_genre
ON movie_genre.idmovie = movies.movie_id
JOIN genre
ON genre.genre_id = movie_genre.idgenre
AND genre.genre_name IN ('Drama','Adventure')
GROUP BY movie_id
HAVING COUNT(DISTINCT movie_genre.idgenre) >= 2;