![](/img/trans.png)
[英]How to check if a column has all null values in a table? snowflake sql
[英]Snowflake SQL → Column JSON values into table
我的 TRR 表由每行中的 JSON 值组成(我从 TRR 中删除了 null 行),我想将这些 JSON 行拆分为具有相应列的表
每行可以有多个条目:展开一行示例
我需要的是以下内容(无需在目标表中保留行号):
(排) | 折扣 | ID | points_text | 积分 | src_trl_code | src_trl_id | trn_id |
---|---|---|---|---|---|---|---|
(1) | 0 | 1113302 | TIERS_PTS:1 | 0 | CCU_L_01 | 108 | 743156 |
(2) | 0 | 1112948 | TIERS_PTS:1 | 0 | CCU_L_01 | 108 | 743430 |
(3) | 0 | 2552076 | NULL | 0 | CCU_L_01 | 108 | 402953 |
(4) | 0 | 746255 | 状态:50 | 0 | CCU_L_01 | 659 | 503055 |
(4) | 0 | 746254 | 微笑:50 | 0 | CCU_L_01 | 108 | 503055 |
(...) |
工作代码:
WITH CTE AS ( SELECT array_construct( object_construct( 'discount', 0, 'ID',
1113302, 'points', 0, 'points text', 'TIERS_PTS:1', 'secirlcode', 'CCU_L_01',
'srcirlid', 108, 'TRN_ID', 743156 ) ,
object_construct( 'discount', 4, 'ID', 1114302, 'points', 1, 'points text',
'TIERS_PTS:5', 'secirlcode', 'CCU_L_01', 'srcirlid', 168, 'TRN_ID', 743156 )
) YOUR_ARRAY )
SELECT
HI.VALUE:ID
, HI.VALUE:TRN_ID
, HI.VALUE:points
, HI.VALUE:"points text"
, HI.VALUE:secirlcode
FROM
CTE
, LATERAL FLATTEN(INPUT=> YOUR_ARRAY) HI ;
使用的功能:
证明它有效:
起点相同:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.