Sql查询按照父ID选择

9 浏览
0 Comments

Sql查询按照父ID选择

我需要从表中选择数据,格式如下(这只是一个例子)。

我希望根据parent_id选择数据,格式为Category1,Category2,Category3,而不包括root。

结果应该是

表格应如下所示:

| category1 | category2 | category3 |

|-----------|-----------|-----------|

| GraphicCard | null | null |

| Memory | DDR3 | Corsair |

| Memory | DDR3 | HyperX |

0
0 Comments

原因:需要根据父id进行查询,但直接使用sql语句进行查询时存在一定的困难。

解决方法:

使用自连接来实现这种行为。以下是一种解决方法:

select a.name as category1, b.name as category2, c.name as category3 
from yourtable a
left join yourtable b on a.id_category = b.parent_id
left join yourtable c on b.id_category = c.parent_id
where a.id_category in (2,3);

以上就是解决这个问题的方法,通过使用自连接,我们可以根据父id进行查询。

0