使用两个不同的键连接表mysql

时间:2016-03-30 11:23:44

标签: php mysql codeigniter join

我需要使用不同的键加入相同的表,

我正在使用codeigniter,所以下面是加入它的语法,

    $this->db->join('sc_countries', 'sc_countries.country_id = sc_users.user_country', 'LEFT');
    $this->db->join('sc_countries', 'sc_countries.country_id = sc_agents.agent_country', 'LEFT');

当我尝试以这种方式加入时,它会抛出错误

Not unique table/alias: 'sc_countries'

我该如何进行此类加入?

先谢谢,

1 个答案:

答案 0 :(得分:3)

SQL解释器找不到确切的表,因为同一个表连接了两次。

这是相互矛盾的。为避免冲突,请使用以下别名重命名表:

$this->db->join('sc_countries AS C', 'C.country_id = sc_users.user_country', 'LEFT');
$this->db->join('sc_countries AS D', 'D.country_id = sc_agents.agent_country', 'LEFT');