我试图通过sql访问snowflake中的以下数据,但列中的值为null请调查一下

1l5u6lss  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(279)

下面是存储在表的一列中的数据(table:stg, col:ln)以及我用来访问列的查询:

{"locations": [{"id": "893d7ef0", "name": "Organization", "type": "region"},
{"id": "7ad8787c", "name": "CORONA", "type": "st", "st_id": "1127"}]}

使用的查询是:

select * from(
               select
                   replace(LN : locations.id , '"' , '')as  loc_id,
                   replace(LN : locations.name , '"' , '') as loc_name,
                   replace(LN : locations.type , '"' , '') as loc_type,               
                   replace(LN : locations.st_id , '"' , '') as loc_store_id

           from db.schema.STG)

问题是,查询在列中给出null。有什么建议吗?

vwoqyblh

vwoqyblh1#

你能试试这个吗?

select 
replace( j.value:id  , '"' , '')as  loc_id,
replace( j.value:name , '"' , '') as loc_name,
replace( j.value:type , '"' , '') as loc_type,               
replace( j.value:st_id , '"' , '') as loc_store_id
from STG, table(flatten ( LN, path => 'locations' )) j;

相关问题