Để có được bản ghi cuối cùng cho mỗi khách hàng từ bảng thành viên dựa trên id cao nhất, bạn có thể tự tham gia để trở thành thành viên bằng cách điều chỉnh phần tham gia như
$this->db->select('c.*,m.*');
$this->db->from('customer as c');
$this->db->join('membership as m', 'c.id = m.customer_id', 'left');
$this->db->join('membership as m1', 'm.customer_id = m1.customer_id AND m.id < m1.id', 'left');
$this->db->where('m1.id IS NULL', null, false)
$query = $this->db->get();
Một SQL thuần túy sẽ giống như
SELECT c.*,m.*
FROM customer AS c
LEFT JOIN membership AS m ON c.id = m.customer_id
LEFT JOIN membership AS m1 ON m.customer_id = m1.customer_id
AND m.id < m1.id
WHERE m1.id IS NULL