簡體   English   中英

查詢帶有單個ID列的逗號分隔列?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM