我有两个表资源和类别。我做了一个连接查询并得到了结果。但我不知道如何解决它。下面是输出结果数组。
array (size=4)
0 =>
array (size=5)
'resourceID' => string '24' (length=2)
'resourceName' => string 'Tafe Resources' (length=14)
'categoryID' => string '3' (length=1)
'categoryName' => string 'Accounting' (length=10)
'subcategoryID' => string '0' (length=1)
1 =>
array (size=5)
'resourceID' => string '24' (length=2)
'resourceName' => string 'Tafe Resources' (length=14)
'categoryID' => string '4' (length=1)
'categoryName' => string 'Adult Tertiary' (length=14)
'subcategoryID' => string '0' (length=1)
2 =>
array (size=5)
'resourceID' => string '26' (length=2)
'resourceName' => string 'College Resources' (length=17)
'categoryID' => string '7' (length=1)
'categoryName' => string 'Automotive' (length=10)
'subcategoryID' => string '0' (length=1)
3 =>
array (size=5)
'resourceID' => string '26' (length=2)
'resourceName' => string 'College Resources' (length=17)
'categoryID' => string '8' (length=1)
'categoryName' => string 'Busniess & Management' (length=21)
'subcategoryID' => string '0' (length=1)
这是我的查询
$this->db->select()->from('resources');
$this->db->join('categories','resources.resourceID = categories.resourceID');
如果是来自单个表,我将使用for-each循环并获取数据。 我希望合并重复的列。 我想显示一个表,其中resourceID和resourceName是唯一的。
答案 0 :(得分:0)
您希望表格如何独特?您可以使用GROUP BY
但是您将丢失任何重复的resourceID和resourceName的类别信息。
编辑:您可以使用带有GROUP_CONCAT
的JOIN作为子查询,但这会限制您为concat操作设置的最大长度。
我认为最好的解决方案只是遍历数据并设置数据以确保resourceID和resourceName的行是唯一的。