Khóa ngoại cung cấp một liên kết đến một bản ghi khác trong cùng một bảng hoặc một bảng khác (thường là sau này). Một phép nối sử dụng dữ liệu chung trong hai bảng (đôi khi là cùng một bảng) để cung cấp liên kết giữa chúng.
Nếu bạn có hai bảng mà bạn muốn tham gia và yếu tố chung duy nhất giữa hai bảng đó nằm trong bảng thứ ba (bảng có tất cả các khóa ngoại), bạn sẽ cần thực hiện 2 phép nối.
Ví dụ
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.....
Trong 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('...');
Bạn có thể tìm thấy tất cả thông tin mình cần tại đây - http://codeigniter.com/user_guide/database /active_record.html
Hy vọng điều này sẽ hữu ích.