当条件具有父ID时,如何选择所有记录?

时间:2013-09-12 10:05:36

标签: mysql

表格会是这样的:

 id   content  parent_id  
 1     first      0
 2     second     1

问题是:     if if 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

谢谢你

2 个答案:

答案 0 :(得分:1)

试试这个

SELECT id,content,parent_id FROM table_name 
WHERE (SELECT parent_id FROM table_name WHERE id=2) IN (id,parent_id)

答案 1 :(得分:0)

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

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