Външният ключ предоставя връзка към друг запис в същата или друга таблица (обикновено последната). Обединяването използва общи данни в две таблици (понякога една и съща таблица), за да осигури връзка между тях.
Ако имате две таблици, които искате да обедините и единственият общ фактор между тези две таблици е в трета таблица (тази с всички външни ключове), ще трябва да извършите 2 обединявания.
Пример
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.....
В 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('...');
Можете да намерите цялата необходима информация тук - http://codeigniter.com/user_guide/database /active_record.html
Надявам се това да помогне.