我知道标题不是很有帮助,因为我无法自行解决这个问题,部分原因是我无法弄清楚把它说出来,所以我不能谷歌它。MySQL - 获取具有相同ID但具有不同特定值的行的另一列
无论如何,我正在制作一个Netflix风格的网站,电影和电视节目从我的DVD收藏中撕掉。这是一个运行我的树莓派的LAMP堆栈。我想要通过从一堆复选框中选择流派来选择按流派搜索。我希望它能够工作,所以如果我检查“恐怖”和“喜剧”,搜索结果只会返回具有这些类型的电影/电视节目,而不是/或。
所以我有几个MySQL表,THR_MOVIE,THR_SHOW和THR_GENRE。 THR_MOVIE和THR_SHOW的结构对于这个问题并不重要,只知道每个电影/电视节目只占用一行并且具有唯一的ID。下面是THR_GENRE的结构:
CREATE TABLE `THR_GENRE` (
`media_id` INT(7) UNSIGNED NOT NULL,
`genre` VARCHAR(255) NOT NULL,
`media_type` ENUM('movie','show') NOT NULL,
`date_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`media_id`, `genre`, `media_type`))
显然,如果的媒体类型是“电影”,然后media_id是THR_MOVIE ID而不是THR_SHOW ID。来自流派表的一些示例数据可能如下所示:
row 1: media_id=12, genre='horror', media_type='movie'
row 2: media_id=12, genre='comedy', media_type='movie'
那么这个查询如何工作?我需要获取电影数据,所以我需要加入THR_MOVIE和THR_GENRE才能看电影,然后用THR_SHOW和THR_GENRE做相同的电视节目。
更新您的问题添加预期结果,,以及您实际正在使用的查询。 – scaisEdge