我有列赞,其中我将ids存储在以逗号分隔的字符串中: 76,88
我想从另一个ID为 78,88
的表中选择行我尝试使用MYSQL IN()功能,但它只获得第一个ID 78
那么如何在同一个查询字符串中解决它呢?
SELECT u.user_id,
u.username,
u.firstname,
u.lastname,u.status
FROM users u WHERE u.user_id IN(
SELECT likes FROM posts WHERE post_id='200'
)
谢谢。
答案 0 :(得分:0)
FIND_IN_SET()函数返回第二个字符串中字符串的位置。当字符串列表中不存在搜索字符串时返回零。
语法:
<强> FIND_IN_SET(参数1,参数2)强>
SQL将如下所示:
SELECT u.user_id,
u.username,
u.firstname,
u.lastname,u.status
FROM users u WHERE FIND_IN_SET(u.user_id,
(SELECT likes FROM posts WHERE post_id='200')
)
注意: argument1是一个字符串,用于检查参数2中逗号分隔的字符串