表格
水果
f_id | names
---------------
1 | Apple
2 | grapes
3 | mango
4 | orange
5 | cherry
一些常见的表,我存储水果表f_id是逗号分隔或单个
共同
id | f_id | m_id
-------------------------
1 | 1 | 7
2 | 1 | 7
3 | 1 | 7
4 | 3,4 | 8
5 | 2 | 7
6 | 5 | 8
5 | 2 | 9
5 | 2,4 | 9
5 | 4,5 | 9
5 | 1,3 | 10
5 | 2 | 10
现在,我想基于m_id获取数据。如果我将7传递到下面的查询
,我有m_id 7SELECT COUNT(C.f_id)作为count,C.f_id,(从fruits中选择名称 f_id = C.f_id)作为名称FROM common C,其中C.m_id = 7 group by C.f_id
根据我的查询,我得到了结果
count | f_id | name
------------------------------
3 | 1 | Apple
1 | 2 | grapes
但是,当我通过具有逗号分隔值的8 OR 9 OR 10时,我失败了 我也试过IN()运算符和FIND_IN_SET()
SELECT COUNT(C.f_id)作为count,C.f_id,(从fruits中选择名称 f_id IN(C.f_id))作为名称FROM common C,其中C.m_id = 8 group by C.f_id
如何获取m_id = 8的预期数据(我想按照以下方式,请提示)
count | f_id | name
------------------------------
1 | 3,4 | Mango, orange
1 | 5 | cherry