我知道標題不是很有幫助,因爲我無法自行解決這個問題,部分原因是我無法弄清楚把它說出來,所以我不能谷歌它。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