De refererende sleutel geeft een link naar een ander record in dezelfde of een andere tabel (meestal de laatste). Een join gebruikt gemeenschappelijke gegevens in twee tabellen (soms dezelfde tabel) om een koppeling tussen beide tabellen te maken.
Als je twee tabellen hebt die je wilt joinen en de enige gemeenschappelijke factor tussen die twee tabellen is in een derde tafel (die met alle externe sleutels), dan moet je 2 joins uitvoeren.
Voorbeeld
SELECT *.table1, *.table2 FROM table1
LEFT JOIN foreign_key_table ON foreign_key_table.id1 = table1.id
LEFT JOIN table2 ON foreign_key_table.id2 = table2.id
WHERE.....
In Codeignter:
$this->db->select('*.table1, *.table2');
$this->db->from('table1');
$this->db->join('foreign_key_table', 'foreign_key_table.id1 = table1.id');
$this->db->join('table2', 'foreign_key_table.id2 = table2.id');
$this->db->where('...');
Je kunt hier alle informatie vinden die je nodig hebt - http://codeigniter.com/user_guide/database /active_record.html
Ik hoop dat dit helpt.