sql - 有没有办法用雪花展平 json 列表?
问题描述
我有一个列是我的表中的一个列表我想展平/展开到列,所以我可以从这个转换它
{"name a":1,"name b":1,"name c":1,"name d":1,"name e":1}
对此
|name a |name b|name c|name d |name e|
| 1 |1 |1 |1 |1 |
每个都有自己的专栏
解决方案
我找不到这样做的动态方式。无论您是先展平列然后将其重新旋转,还是以下面的这种方式进行,您都需要引用列名。可能有一种方法可以在存储过程中动态执行此操作,或者在 Python 或其他语言中动态创建 SQL:
-- Creating a Mock table to query
WITH json_table AS (
SELECT TO_VARIANT(PARSE_JSON('{"name a":1,"name b":1,"name c":1,"name d":1,"name e":1}')) AS json_field
UNION ALL
SELECT TO_VARIANT(PARSE_JSON('{"name a":2,"name b":2,"name c":2,"name d":2,"name e":2}')) AS json_field
)
SELECT json_field:"name a" AS "name a"
,json_field:"name b" AS "name b"
,json_field:"name c" AS "name c"
,json_field:"name d" AS "name d"
,json_field:"name e" AS "name e"
FROM json_table j
;
推荐阅读
- css - 如何定位在 div 背景图像后面?
- r - 按组交替条形颜色,同时交替背景颜色并保持 x 轴标签顺序 (ggplot2)
- r - Ggvegan 自动绘图边界
- c# - 关于C#图表数据定位的问题
- r - 在 R 中,如何根据名称从命名的 num 创建交叉表?
- java - 如何将数据保存在多个 sql 行的一个 thymeleaf 页面中
- python - 在 Python3 中将 _wmi_object 序列化为 JSON
- highcharts - 如何在带角度的高图中添加情节线?
- java - @Transactional 保存 springboot JPA
- javascript - 如何防止按钮在一生中被点击超过1次