0

该表将如下所示:

 id   content  parent_id  
 1     first      0
 2     second     1

问题是:如果如果 select id = 2 我怎么能在查询中选择它的父记录

   SELECT *
   FROM
      table tb1
   LEFT JOIN
      table tb2
   ON
      tb1.parent_id = tb2.id
   WHERE
      tb1.id = 2

当 id = 2 结果将返回:

 1  first  0
 2  second 1  

不只是返回:

 2 second 1

感谢你

4

2 回答 2

1

尝试这个

SELECT id,content,parent_id FROM table_name 
WHERE (SELECT parent_id FROM table_name WHERE id=2) IN (id,parent_id)
于 2013-09-12T10:25:56.963 回答
0

在您的查询中,没有匹配的字段,因此它返回空行!在 parent_id 中将其值从 0,1 更改为 1,2

通过这样做 tb2.id=tb1.parent_id 将返回 true ,您将获得输出希望有帮助!

于 2013-09-12T11:33:55.613 回答