我需要一点帮助。不知道为什么我无法理解这一点。
我有一张用于歌曲、流派和两者之间关联的表格。
SONGS
song_id
song_name
active (0,1)
GENRE
genre_id
genre_name (rock,jazz,classical,newage,opera)
ASSOC
song_id
genre_id
我可以像这样进行简单的搜索...
SELECT s.song_name, s.song_id
FROM (songs s)
LEFT JOIN assoc a ON s.song_id = a.song_id
WHERE s.active = 1
AND a.genre_id = 1
和这样的多重搜索。
SELECT s.song_name, s.song_id
FROM (songs s)
LEFT JOIN assoc a ON s.song_id = a.song_id
WHERE s.active = 1
AND (a.genre_id = 1
OR a.genre_id = 2)
但是,如果我想得到 1 和 2 OR 3 怎么办?这不起作用。
SELECT s.song_name, s.song_id
FROM (songs s)
LEFT JOIN assoc a ON s.song_id = a.song_id
WHERE s.active = 1
AND a.genre_id = 1
AND (a.genre_id = 2
OR a.genre_id = 3)
提前感谢您的帮助。我有一种感觉,我只是以错误的方式看待这个问题。