自连接 returns 不正确/相反的结果?
Self-join returns incorrect / opposite results?
我需要使用下面的 Self Join table,使用 Codeigniter。
+----------------------------+
| id | parent_id | name |
+----------------------------+
| 1 | 0 | Ram |
+----------------------------+
| 2 | 0 | Alex |
+----------------------------+
| 3 | 1 | Sep |
+----------------------------+
| 4 | 1 | Mid |
+----------------------------+
| 5 | 2 | Seem |
+----------------------------+
| 6 | 3 | Julie |
+----------------------------+
如何使用 CodeIgniter 查询获得如下输出
+--------------------------------+
| id | name | parent_name |
+--------------------------------+
| 1 | Ram | NULL |
+--------------------------------+
| 2 | Alex | NULL |
+--------------------------------+
| 3 | Sep | Ram |
+--------------------------------+
| 4 | Mid | Ram |
+--------------------------------+
| 5 | Seem | Alex |
+--------------------------------+
| 6 | Julie | Sep |
+--------------------------------+
我使用别名 select 数据如下。
$this->db->select('p.id as p_id, p.name as p_name, p_parent.name as parent_name');
$this->db->from('Product as p');
$this->db->join('Product as p_parent', 'p_parent.parent_id = p.id ','LEFT ');
$results = $this->db->get()->result_array();
我得到了多个数组,但没有得到正确的结果。
Array (
[0] => Array ( [p_id] => 1 [p_name] => ram [parent_name] => sep )
[1] => Array ( [p_id] => 1 [p_name] => ram [parent_name] => Mid )
. . .
[6] => Array ( [p_id] => 6 [p_name] => julie [parent_name] => ) )
为什么会这样?
尝试此查询以获得第二个输出 table
$this->db->select('p.id as id, p.name as name, p_parent.name as parent_name');
$this->db->from('Product as p');
$this->db->join('Product as p_parent', 'p.parent_id = p_parent.id ','left');
$results = $this->db->get()->result_array();
我需要使用下面的 Self Join table,使用 Codeigniter。
+----------------------------+
| id | parent_id | name |
+----------------------------+
| 1 | 0 | Ram |
+----------------------------+
| 2 | 0 | Alex |
+----------------------------+
| 3 | 1 | Sep |
+----------------------------+
| 4 | 1 | Mid |
+----------------------------+
| 5 | 2 | Seem |
+----------------------------+
| 6 | 3 | Julie |
+----------------------------+
如何使用 CodeIgniter 查询获得如下输出
+--------------------------------+
| id | name | parent_name |
+--------------------------------+
| 1 | Ram | NULL |
+--------------------------------+
| 2 | Alex | NULL |
+--------------------------------+
| 3 | Sep | Ram |
+--------------------------------+
| 4 | Mid | Ram |
+--------------------------------+
| 5 | Seem | Alex |
+--------------------------------+
| 6 | Julie | Sep |
+--------------------------------+
我使用别名 select 数据如下。
$this->db->select('p.id as p_id, p.name as p_name, p_parent.name as parent_name');
$this->db->from('Product as p');
$this->db->join('Product as p_parent', 'p_parent.parent_id = p.id ','LEFT ');
$results = $this->db->get()->result_array();
我得到了多个数组,但没有得到正确的结果。
Array (
[0] => Array ( [p_id] => 1 [p_name] => ram [parent_name] => sep )
[1] => Array ( [p_id] => 1 [p_name] => ram [parent_name] => Mid )
. . .
[6] => Array ( [p_id] => 6 [p_name] => julie [parent_name] => ) )
为什么会这样?
尝试此查询以获得第二个输出 table
$this->db->select('p.id as id, p.name as name, p_parent.name as parent_name');
$this->db->from('Product as p');
$this->db->join('Product as p_parent', 'p.parent_id = p_parent.id ','left');
$results = $this->db->get()->result_array();