【问题标题】:Sql query select by parent id [duplicate]Sql查询按父ID选择[重复]
【发布时间】:2021-11-22 00:50:03
【问题描述】:

我需要从这样的表中选择数据(只是示例)。

我想选择像 Category1,Category2,Category3 这样的格式的数据,没有 parent_id 的根

id_category name parent_id
1 root 1
2 Graphic card 1
3 Memory 1
4 DDR3 3
5 Corsair 4
6 HyperX 4

结果应该是

category1 category2 category3
GraphicCard null null
Memory DDR3 Corsair
Memory DDR3 HyperX

【问题讨论】:

  • 您可以在 MySQL 中使用 CTE(公用表表达式):dev.mysql.com/doc/refman/8.0/en/with.html 查看 Hierarchical Data Traversal,如果您在 SELECT 方面需要进一步帮助,请留下评论,我会在这里为您提供帮助。

标签: mysql sql select


【解决方案1】:

这种行为可以使用自连接来实现。 这应该可以解决问题:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-28
    • 2014-06-08
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多