mysql - 如何在 SQL 数据库中创建层次结构?
问题描述
我有一个包含以下列的表格:
我需要根据级别数和层次结构创建更多列。
例如:
Level 1
Architecture ->Level 2
->Asses Inventory ->level 3
->Program
如果最多三个级别,我需要创建三列。我在 PowerBI 中实现了这一点。
如何在 SQL 中实现相同的目标?任何帮助表示赞赏。谢谢
解决方案
在 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
那应该按照我的想法去做。
推荐阅读
- python-3.x - 如何在给定的时间内重复此代码
- reactjs - 使用 terser webpack 插件如何避免使用注释构建
- android - 错误:无法解决:com.google.android.gms:play-services-analytics:17.2.0
- javascript - 我想要一个特定长度的数字
- java - Java 8 从 List 中删除一个元素
- javascript - Vue 子组件不会在道具更改时更新
- python - 在熊猫数据框中大写字符串值时如何避免 SettingWithCopyWarning 警告?
- java - 如何解决 Java 中的“线程“主”java.lang.StringIndexOutOfBoundsException 中的异常:字符串索引超出范围:5”问题
- docker - 在 docker 映像中运行 ubuntu 16.04 bash shell
- javascript - JavaScript:如何在调用 new 后对类进行字符串化