首页 > 解决方案 > 如何在 SQL 数据库中创建层次结构?

问题描述

我有一个包含以下列的表格:

在此处输入图像描述

我需要根据级别数和层次结构创建更多列。

例如:

Level 1
Architecture ->Level 2
             ->Asses Inventory ->level 3
                              ->Program

如果最多三个级别,我需要创建三列。我在 PowerBI 中实现了这一点。

在此处输入图像描述

如何在 SQL 中实现相同的目标?任何帮助表示赞赏。谢谢

标签: mysqlsqlsql-server

解决方案


在 T-SQL 中,我只是多次将表加入到自身中

创建一个你想要的新表,然后是这样的:

   INSERT INTO NEW_TABLE
(LEVEL1, LEVEL2, LEVEL3)
SELECT
a.name,
b.name,
c.name
FROM TABLE1 a
LEFT OUTER JOIN TABLE1 b
ON a.category_id = b.parent_id
LEFT OUTER JOIN TABLE1 c
on b.category_id = c.parent_id
GO

那应该按照我的想法去做。


推荐阅读