Codeigniter - 连接派生表

时间:2016-05-21 08:16:55

标签: php mysql codeigniter join

我知道如何加入2个基本表格。我感兴趣的是如何通过为表格添加别名来加入 Codeigniter 中的派生表,就像我们在 mysql 中一样。

示例:

Table1->where(something)->group_by(something) as derived_table1

Table2->where(something AND something)->group_by(something) as derived_table2

如何离开加入这两张表?

请注意: 我知道我可以先加入加入,然后应用where子句。但这会改变查询结果。我需要离开加入派生表。

1 个答案:

答案 0 :(得分:2)

我不确定这是规范方法,但这是我如何做的示例:

// Build subquery
$this->db->select('max(a) a', false);
$this->db->group_by('b');
// Save subquery
$subQuery =  $this->db->get_compiled_select('table-1');

// Main query
$this->db->select('t.a', false);
$this->db->from('table-2'); 
// Here insert subquery
$this->db->join("($subQuery) t", 'condition', 'left');
$query = $this->db->get();