为codeigniter中的两列选择“连接

35g0bw71  于 2023-03-06  发布在  其他
关注(0)|答案(3)|浏览(134)

大家好

Table 1
    id product_name location added_by updated_by added date
    1  LENOVO       St 23    2        1          2016-08-26

Table 2
id first_name last_name email
1  John       Doe       jd@email.com
2  Peter      Smith     ps@email.com

我想知道如何使用codeigniter查询选择数据以获得这样的结果

product_name location added_by    updated_by
LENOVO       St 23    Peter Smith John Doe

我已经尝试了连接,但added_by列和updated_by列显示相同的数据。

pjngdqdw

pjngdqdw1#

您可以使用此查询来解决您的问题:

$this->db->select('t1.product_name,t1.location, CONCAT(t2_1.first_name, " ", t2_1.last_name) AS added_by, CONCAT(t2_2.first_name, " ", t2_2.last_name) AS updated_by'); 
$this->db->from('Table 1 t1');
$this->db->join('Table 2 t2_1', 't2_1.id = t1.added_by', 'left'); 
$this->db->join('Table 2 t2_2', 't2_2.id = t1.updated_by', 'left'); 
$query = $this->db->get();
return $query->result();

您可以根据查询表1表2内的表名进行更改

vxf3dgd4

vxf3dgd42#

这个应该可以

$this->db->select('*')
  ->from('Table 1')
  ->join('Table 2', 'Table 2.id = Table 1.added_by', 'left')
  ->join('Table 2', 'Table 2.id = Table 1.updated_by', 'left');

$query = $this->db->get();

return $query->result();

如果有用就告诉我。

3qpi33ja

3qpi33ja3#

您可以使用此查询与多个列联接

$this->db->select('*')
->from('table_1')

->join('table_2', 'table_2.id = table_1.added_by AND table_2.id = table_1.updated_by', 'left');

$query = $this->db->get();

return $query->result();

相关问题