De moeilijkheid om deze SQL te maken met CI-querybuilder ligt in het select-gedeelte in de linkerjoin. Je kunt het bouwen met de join() functie die de parameter $table vervangt door de SELECT
deel:
dit is de definitieve CI-code:
$q=$this->db1 ->select ('*')
->join('(
select `product_id`
,count(*)
from `sma_sale_items`
group by `product_id`
) s','p.id = s.product_id','left')
->order_by('count(*)', 'DESC')
->get('sma_products p');
return $q->result();