我的数据库表中有一个名为“user_id”的VARCHAR(255)字段,我在其中存储逗号分隔的用户ID,如234,235。
我的查询中有一个内部查询,如下所示's'是我的表别名:
(SELECT group_concat(concat(first_name,' ',last_name)) from users where user_id IN (s.user_id)) as user_name
现在我得到了s.user_id值:'234,235' 所以在结果中我只得到第一个用户的名字。我希望两个用户的名字逗号分开。 (我想=>>('234','235')或(234,235)这样它在IN()函数中起作用)
使用FIND_IN_SET()函数是不可行的,因为我的查询太长了。
答案 0 :(得分:0)
将ID存储在您需要引用的逗号分隔字符串中是错误的设计。将数据标准化并以数据库本机支持的方式存储它会好得多。
也就是说,您需要在字符串中查找用户ID,因此一个解决方案是正则表达式。 这很慢,我认为值得在单独的表/列中重新组织您的ID。
getPathTo(jQuery('h3').first().get(0))
这会将您的ID与字符串两侧或开头或结尾处的逗号进行匹配。