這對於MySQL專家來說是簡單的。如何選擇與MySQL中交叉表中的一組ID相匹配的表中的所有元素
我有歌曲(歌曲)一個表:
id, song_name
和另一個標籤(標籤):
id, tag_name
,我有一個交聯表(tagXsong):
id, song_id, tag_id
我需要一個單一的查詢,返回所有的歌曲(從歌曲表),其中匹配標籤列表內的所有標籤(作爲ID的連接列表提供,例如(57,58,60,63))。
換句話說,我想檢索具有標籤ID列表中所有標籤的歌曲。
這真是太遺憾了!
請注意:ID列表以字符串形式提供。我通常使用查詢,如SELECT * FROM tagXsong WHERE tag_id IN(57,58,60,63) – SquareCat 2012-01-31 15:43:26
請參閱此問題和答案,許多不同的方法來實現您所尋求的,與基準:[如何過濾SQL結果在有很多通過關係](http://stackoverflow.com/questions/7364969/how-to-filter-sql-results-in-a-has-many-through-relation) – 2012-01-31 15:58:39