【发布时间】:2020-12-02 07:57:40
【问题描述】:
假设我有以下声明:
WITH t AS
(
SELECT 'A' AS level_0, 'A1' AS level_1_1, 'object_1' AS level_1_2, 'A11' AS level_2_1, 'B11' AS level_2_2 FROM dual
UNION ALL
SELECT 'A' AS level_0, 'A1' AS level_1_1, 'object_1' AS level_1_2, 'A12' AS level_2_1, 'B12' AS level_2_2 FROM dual
UNION ALL
SELECT 'A' AS level_0, 'A1' AS level_1_1, 'object_1' AS level_1_2, 'A13' AS level_2_1, 'B13' AS level_2_2 FROM dual
UNION ALL
SELECT 'A' AS level_0, 'A1' AS level_1_1, 'object_1' AS level_1_2, 'A14' AS level_2_1, 'B14' AS level_2_2 FROM dual
UNION ALL
SELECT 'B' AS level_0, 'A1' AS level_1_1, 'object_2' AS level_1_2, 'A11' AS level_2_1, 'B15' AS level_2_2 FROM dual
UNION ALL
SELECT 'B' AS level_0, 'A1' AS level_1_1, 'object_2' AS level_1_2, 'A12' AS level_2_1, 'B16' AS level_2_2 FROM dual
UNION ALL
SELECT 'B' AS level_0, 'A1' AS level_1_1, 'object_2' AS level_1_2, 'A13' AS level_2_1, 'B17' AS level_2_2 FROM dual
)
SELECT * FROM t
我想要的输出如下所示:
+---------+---------------------------------------------------------------------------------+
| Level 0 | JSON |
+---------+---------------------------------------------------------------------------------+
| A | {"level_1_1":"A1","object_1":{"A11":"B11","A12":"B12","A13":"B13","A14":"B14"}} |
| B | {"level_1_1":"A1","object_2":{"A11":"B15","A12":"B16","A13":"B17"}} |
+---------+---------------------------------------------------------------------------------+
如何使用 select 语句获得此输出?
非常感谢您的帮助!
【问题讨论】:
-
可能是useful