首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Self-join返回错误/相反的结果?

Self-join返回错误/相反的结果?
EN

Stack Overflow用户
提问于 2019-03-28 21:16:23
回答 1查看 64关注 0票数 1

我需要使用下表中的Self Join,使用Codeigniter。

代码语言:javascript
复制
+----------------------------+
| id | parent_id |  name     |
+----------------------------+
|  1 |  0        |  Ram      |
+----------------------------+
|  2 |  0        |  Alex     |
+----------------------------+ 
|  3 |  1        |  Sep      |
+----------------------------+ 
|  4 |  1        |  Mid      |
+----------------------------+ 
|  5 |  2        |  Seem     |
+----------------------------+
|  6 |  3        |  Julie    |
+----------------------------+

如何使用CodeIgniter查询获得如下所示的输出

代码语言:javascript
复制
+--------------------------------+
| id |  name     |  parent_name  |
+--------------------------------+
|  1 |  Ram      |     NULL      |
+--------------------------------+
|  2 |  Alex     |     NULL      |
+--------------------------------+
|  3 |  Sep      |     Ram       |
+--------------------------------+
|  4 |  Mid      |     Ram       |
+--------------------------------+
|  5 |  Seem     |     Alex      |
+--------------------------------+
|  6 |  Julie    |     Sep       |
+--------------------------------+

我使用别名选择数据,如下所示。

代码语言:javascript
复制
$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();

我得到了多个数组,但没有得到正确的结果。

代码语言:javascript
复制
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] => ) ) 

这一切为什么要发生?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-28 22:16:43

尝试执行此查询,以获得第二个表的输出

代码语言:javascript
复制
$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();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55398612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档