msyql将表的列数据横向展示

mysql需要把一列数据横向展示,而且需要补全

目前的数据情况:

img

需要展示成:

img

sql脚本:

DROP TABLE IF EXISTS `table1`;
CREATE TABLE `table1`  (
  `id` bigint(20) NOT NULL DEFAULT 0,
  `parent_id` bigint(20) NULL DEFAULT NULL,
  `levels` double NULL DEFAULT NULL,
  `catalog_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `structure_id` bigint(20) NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `table1` VALUES (40, 0, 0, '事件信息', 9);
INSERT INTO `table1` VALUES (41, 40, 1, '风险信息', 9);
INSERT INTO `table1` VALUES (42, 41, 2, '偿付能力', 9);
INSERT INTO `table1` VALUES (43, 42, 3, '贷款偿付能力', 9);
INSERT INTO `table1` VALUES (44, 43, 4, '短期贷款偿付能力', 9);

您好,这种树形结构的表,可以使用递归的方式进行数据查询,参考如下方式:https://blog.csdn.net/wocaizhale/article/details/121600221