[英]Querying a comma separated column with a single id columns?
我试图得到一个单列ID像用逗号分隔的列的结果,我的两个表如下:
房间位置表
活动表
用户表
我的查询是
$sql=" SELECT users.*, events.*, room_location.*
FROM events
INNER JOIN room_location ON events.event_room = room_location.location
INNER JOIN users ON room_location.user_loc_id = users.userlocationaccess
WHERE room_location.user_loc_id LIKE '%1,2%'";
$result = $conn->query($sql);
如果我在users-> userGroupLocID中使用单个ID,则上面的查询有效。
如何修改查询以使其有效,以便查找ID是否类似于逗号分隔的列?
您可以使用FIND_IN_SET(str,strlist)
函数搜索CSV字段。
范例 :
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
文档说 :
如果字符串str在由N个子字符串组成的字符串列表strlist中,则返回1到N范围内的值。 字符串列表是由用“,”字符分隔的子字符串组成的字符串。
您可以传递用户位置ID以在列userGroupLocID
找到
select find_in_set( location_id_in_search, replace( userGroupLocID, ' ', '' ) )
from table_name;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.