我在数据库里有两张这样的表,
1)视频
id name
200119 one
200120 two
200121 three
2)会话到频道
channel_id playlist_id videos
50 359 200119,200120,200121
我想从
videos.name
表中选择所有videos
,其中videos.id IN sessions_to_channels.videos
。为此,我使用这个查询,
SELECT v.name FROM videos as v WHERE v.id in ( select videos from sessions_to_channels where playlist_id=359 and channel_id=50 )
但它只给了我一张唱片
id name
200119 one
我在这里做错什么了?
最佳答案
如果在sessions_to_channels.videos中使用字符串,则必须使用FIND_in_SET。
就像
SELECT v.name
FROM videos AS v
WHERE FIND_IN_SET(v.id, (
SELECT videos FROM sessions_to_channels WHERE playlist_id=359 and channel_id=50 )
)
关于php - MySQL查询,记录未使用IN子句选择适当,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32453916/