在MySQL中联接查询引发的错误结果集

时间:2018-12-08 05:11:37

标签: mysql codeigniter

我有一个名为tbl_documents的表,其中记录了doc_nobranch_nodoc_namedate等文档的一些详细信息。

我在函数内部添加了以下行以获取tbl_documents表的所有字段。

...

$this->db->select('*')
->from('tbl_documents')         
->where('status', 1, '', FALSE);

...

该功能正常运行并生成正确的输出。但是branch_no表中的tbl_documentsbranch_no表中的tbl_branch相关。它还包含另一个字段branch_names,例如:管理员,帐户,IT等。

如果我使用以下代码获取所需输出的分支名称,则会引发错误。

 $this->db->select('*')
 ->from('tbl_documents')
 ->join('tbl_branch', 'tbl_branch.branch_id=tbl_documents.branch_id', 'left')
 ->where('status', 1, '', FALSE);

可能是什么问题?有人可以帮我吗?

3 个答案:

答案 0 :(得分:6)

这可能会帮助您:

    $this->db->select('*')
     ->from('tbl_documents')
     ->join('tbl_branch', 'tbl_branch.branch_id=tbl_documents.branch_id', 'left')
     ->where('status', 1, '', FALSE);
     return $this->db->get()->result_array();

答案 1 :(得分:0)

尝试这种方式。我希望它将对您有帮助:

$this->db->select('tbl_documents.*,fields_name_which_you_want_get');
$this->db->->join('tbl_branch', 'tbl_branch.branch_id=tbl_documents.branch_id', 'left');
return $this->db->where('status', 1, '', FALSE)->get('tbl_documents')->result_array();

答案 2 :(得分:0)

尝试以下方法,它将解决您的问题。

 $this->db->select('tbl_branch.*,tbl_documents.*')
 ->from('tbl_documents')
 ->join('tbl_branch', 'tbl_branch.branch_id=tbl_documents.branch_id', 'left')
 ->where('status', 1, '', FALSE)->result_array();;