我有一个表,命名为group
,在mysql。其中一个字段是member_ids
,其值类似于(2,3,4,5)。
我想在一个地方用2、4、5不包括3,在另一个地方用3不包括其他。
我使用mysql作为PHP数据库。任何想法如何做到与mysql查询或php代码?
member_ids: (2,3,4), (2,3,4,5), (1,3,5,7) ...
单个单元格中有多个值。
现在我想使用第二个单元格的所有值,除了3,即(2,4,5)从另一个表member
中找到email_id
。
我只能在查询中使用'3',而不能使用其余部分,即(2,4,5)。
我需要从member
表中找到'id'= 2,4和5的电子邮件id
要获取值不包括3的所有member_ids
,可以写入
select member_ids from group where member_ids != 3;
要获得所有值为3的member_ids
(不包括其他),可以写
select member_ids from group where member_ids = 3;
您可以这样使用FIND_IN_SET()
:
SELECT g.member_ids
FROM group g
WHERE FIND_IN_SET('2', g.member_ids) > 0
OR FIND_IN_SET('4', g.member_ids) > 0
OR FIND_IN_SET('5', g.member_ids) > 0