Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie einen einzelnen letzten Datensatz mit einer bestimmten ID in Codeigniter

Um den letzten Datensatz für jeden Kunden aus der Mitgliedschaftstabelle basierend auf der höchsten ID zu erhalten, können Sie der Mitgliedschaft selbst beitreten, indem Sie den Beitrittsteil wie

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

Ein einfaches SQL wäre so etwas wie

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