我'我将配置文件好友ID以逗号分隔的字符串格式存储。当运行Query时,它给出1条记录,而它应返回2条记录。
MySQL查询
SELECT * FROM PROFILES WHERE profile_id IN(SELECT profile_friends FROM PROFILES WHERE profile_id = '1')
给出了这个结果(结果应该是2条记录而不是1条记录)
当我运行以下查询时,给我两个在profile_friends字段中的ID。
SELECT profile_friends FROM PROFILES WHERE profile_id = '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