When I use this SQL, the result of mem_name (from the first table) is repeated a lot how can I prevent that?
$sql = "
SELECT
mc.mc_id,
mc.mc_role,
mc.mc_order,
mc.mc_order IS NULL AS isnull,
mem.*
FROM
$this->memberCatsTableName mc,
$this->tableName mem
WHERE
mc.cat_id=$cat_id
$where
AND mc.member_id=mem.mem_id
or mem.mem_name='$mem_name'
ORDER BY
isnull ASC,
mc.mc_order ASC
";
$query = $this->db->query($sql);
return $query->result_array();
$whereholds. Using comma-JOINs is not recommended because they can be over looked as JOINs. Injecting variables directly into SQL strings may be destabilizing or dangerous to your app. Your mix of AND and OR logic is likely to be problematic. If a GROUP BY clause is desired, we need to understand how to properly handle the aggregated values in other columns.