[英]MySQL WHERE IN Returns only 1 record
我正在以逗號分隔的字符串格式存儲個人檔案好友ID。 運行查詢時,它給出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'
請使用以下查詢
SELECT * FROM PROFILES WHERE FIND_IN_SET(profile_id,(SELECT profile_friends FROM PROFILES WHERE profile_id = '1'))
IN子句僅在您從整數字段中搜索值時使用
但是您的字段(profile_friends)是字符串,因此需要使用以下子句。
FIND_IN_SET
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.