MySQL WHERE IN仅返回1条记录

时间:2015-01-17 12:12:57

标签: php mysql

我'我将配置文件好友ID以逗号分隔的字符串格式存储。当运行Query时,它给出1条记录,而它应返回2条记录。

MySQL查询

SELECT * FROM PROFILES WHERE profile_id IN(SELECT profile_friends FROM PROFILES WHERE profile_id = '1')

给出了这个结果(结果应该是2条记录而不是1条记录) enter image description here

当我运行以下查询时,给我两个在profile_friends字段中的ID。

SELECT profile_friends FROM PROFILES WHERE profile_id = '1'

enter image description here

1 个答案:

答案 0 :(得分:2)

请使用以下查询

SELECT * FROM PROFILES WHERE FIND_IN_SET(profile_id,(SELECT profile_friends FROM PROFILES WHERE profile_id = '1'))

IN 子句仅在从整数字段

中搜索值时使用

但你的字段(profile_friends)是字符串,所以你需要使用以下子句。

  

FIND_IN_SET