Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir un seul dernier enregistrement avec un identifiant particulier dans codeigniter

Pour obtenir le dernier enregistrement de chaque client à partir de la table d'adhésion en fonction de l'identifiant le plus élevé, vous pouvez effectuer une auto-adhésion à l'adhésion en modifiant la partie d'adhésion comme

$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 serait quelque chose comme

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