簡體   English   中英

MYSQL查詢多個逗號分隔的字符串

[英]MYSQL query multiple comma separated strings

我將數據存儲在 MYSQL 數據庫中,如下所示:

 id    t_id     type    color       Y        S       M          L   
  2    2606      2    Black DNA   1,5,8    4,2,6    7,3,9    10,11,12   

我希望查詢像這樣用 PHP 返回:

全部的:

Black DNA

1 (Y)  
2 (S)  
3 (M)  
4 (S)  
5 (Y)  
6 (S)  
7 (M)  
8 (Y)  
9 (M)  
10 (L)  
11 (L)  
12 (L)  

我正在使用 Joomla 2.7,這是我在 PHP 中嘗試過的:

$query = "SELECT DISTINCT(e.id) as id, e.color, GROUP_CONCAT(e.S) as small FROM  #__bl_equipment as e WHERE e.type = 4 AND e.t_id = 2606";
       $db->setQuery($query);
    $equip1 = $db->loadObjectList();


<table>

<?php foreach($this->equip1 as $equip){

echo '<tr><td>';
echo $equip->color;
echo '</td><td>';
echo $equip->small;
echo '</td></tr>';}

?>


</table>

我唯一能得到的結果:

黑色 DNA 1, 2, 3

這對 SQL 來說太復雜了(甚至懷疑它是可能的)

我會執行以下操作 - 獲取 Y、S、M 和 L 列 - 使用逗號解析每個列(這樣你就會得到數字)並將它們變成數組 - 對每個列進行排序

所以現在你應該有類似的東西

y_numbers = [1,5,8]

s_numbers = [2,4,6]

m_numbers = [3,7,9]

l_numbers = [10,11,12]

然后在循環內,查看每個數組的第一個元素,找到最小的,根據它是哪個數組打印字母,迭代該數組的指針......繼續直到你用完所有數字

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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