开发者

Making a query to sort albums by genre problem

开发者 https://www.devze.com 2023-02-09 01:20 出处:网络
So I have 3 tables, \"music\", \"genres\", and \"music_genres\", music being a table of albums, genres being a table of genres, and music_genres being a table of links bet开发者_StackOverflow中文版wee

So I have 3 tables, "music", "genres", and "music_genres", music being a table of albums, genres being a table of genres, and music_genres being a table of links bet开发者_StackOverflow中文版ween the two tables (each row has a link to music and genres).

Now I'm trying to take an input set of genres that I want to filter my results by when I select all of the music. I basically want to say if the genre_id is IN() a predefined array that I have of id's, but only show that entry from the music table if it has one entry from the music_genres table linking it to one of the specified genre_ids..

Any thoughts?


SELECT
    music.*
FROM
    music
INNER JOIN
    music_genres
ON
    music.id = music_genres.music_id
WHERE
    music_genres.genre_id IN (1,2,3)

Use SELECT DISTINCT or a GROUP BY clause if you don't want duplicate results for music in multiple genres.

0

精彩评论

暂无评论...
验证码 换一张
取 消