我有这个 JSON 列,我需要将 key: page_location 的 string_value 提取到它自己的列中。我必须使用 Snowflake SQL。
[
{
"key": "page_title",
"value": {
"string_value": "Welcome"
}
},
{
"key": "version",
"value": {
"int_value": "567"
}
},
{
"key": "firebase_conversion",
"value": {
"int_value": "0"
}
},
{
"key": "session_engaged",
"value": {
"string_value": "0"
}
},
{
"key": "container_id",
"value": {
"string_value": "GTM-PHSFA"
}
},
{
"key": "ga_session_number",
"value": {
"int_value": "210"
}
},
{
"key": "engaged_session_event",
"value": {
"int_value": "1"
}
},
{
"key": "content_group",
"value": {
"string_value": "Homepage"
}
},
{
"key": "entrances",
"value": {
"int_value": "1"
}
},
{
"key": "hostname",
"value": {
"string_value": "www.homepage.com"
}
},
{
"key": "user_agent",
"value": {
"string_value": "Mozilla/5.0 (Linux; Android 12)"
}
},
{
"key": "ga_session_id",
"value": {
"int_value": "1194643792"
}
},
{
"key": "page_location",
"value": {
"string_value": "https://www.examplehomepage.com/"
}
}
]
我觉得我已经尝试了一切!谢谢您的帮助。
with data(json) as (
select parse_json('[
{
"key": "page_title",
"value": {
"string_value": "Welcome"
}
},
{
"key": "version",
"value": {
"int_value": "567"
}
},
{
"key": "firebase_conversion",
"value": {
"int_value": "0"
}
},
{
"key": "session_engaged",
"value": {
"string_value": "0"
}
},
{
"key": "container_id",
"value": {
"string_value": "GTM-PHSFA"
}
},
{
"key": "ga_session_number",
"value": {
"int_value": "210"
}
},
{
"key": "engaged_session_event",
"value": {
"int_value": "1"
}
},
{
"key": "content_group",
"value": {
"string_value": "Homepage"
}
},
{
"key": "entrances",
"value": {
"int_value": "1"
}
},
{
"key": "hostname",
"value": {
"string_value": "www.homepage.com"
}
},
{
"key": "user_agent",
"value": {
"string_value": "Mozilla/5.0 (Linux; Android 12)"
}
},
{
"key": "ga_session_id",
"value": {
"int_value": "1194643792"
}
},
{
"key": "page_location",
"value": {
"string_value": "https://www.examplehomepage.com/"
}
}
]')
)
select
f.value:value as here_you_go
from data as d,
table(flatten(input=>d.json)) as f
where f.value:key = 'page_location';