我有这个示例mysql语句
SELECT f.* FROM foo f
INNER JOIN bar b ON b.id IN(f.field_containing_values_separated_by_comma)
WHERE b.id IN (1,2,3)
(varchar)f.field_ contains_values_separated_by_comma的样本值 会是
'1,3,5'
'2,5,7'
'10,9'
'4,5'
我的预期结果是获取此f.field_ contains_values_separated_by_comma的foo记录
'1,3,5'
'2,5,7'
有什么主意我为什么不明白吗?或还有其他更好的方法可以做到这一点?即时通讯使用PHP作为后端
致谢
答案 0 :(得分:0)
我相信您需要像这样使用FIND_IN_SET函数:
select distinct foo.* from foo cross join bar
WHERE bar.id IN(1,2) and FIND_IN_SET(foo.id, bar.field_containing_values_separated_by_comma)
文档here