我的数据存储在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
答案 0 :(得分:-1)
对于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]
然后在循环中,查看每个数组的第一个元素,根据它所在的数组找到最小的打印字母,迭代该数组的指针......继续直到你已经用完所有数字