sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener el último registro único con una identificación particular en codeigniter

Para obtener el último registro de cada cliente de la tabla de membresía según la identificación más alta, puede unirse automáticamente a la membresía ajustando la parte de unión como

$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(); 

Un SQL simple sería algo como

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