大家好,
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
列显示相同的数据。
答案 0 :(得分:1)
您可以将此查询用于您的问题:
$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
中的表名进行更改答案 1 :(得分:0)
这应该有效
$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();
让我知道它是否有效。