Я пробовал подписаться, и это работает. У вас неверное имя столбца. Я не вижу status_id
WITH X AS (
SELECT PARSE_JSON($1) AS header
FROM VALUES ($$
{
"metaData": "code:VALID_ERROR,message: the provided credentials were not correct,type: ITEM_ERROR,exit_status: null,action_id: dax_123,action_name: Queentech,session_id: 678-902-6y78,type: null,name: null,timestamp: 2020-07-11T20:52:59.158Z,timestamp_epoch_sec: 1594500779",
"statusId": "3478-901fg-u9710" }
$$)
)
select header:statusId::varchar as statusid
,header:metaData:code ::varchar as code
,header:metadata.message::varchar as message
from X
where header:statusId::varchar = '3478-901fg-u9710'
;
РЕДАКТИРОВАТЬ: следующий фрагмент только выравнивает столбцы заголовка и метаданных. Он не возвращает результаты, как в исходном запросе. Но этот запрос можно расширить
--Following Json is in correct format
create or replace table sample_json as
SELECT PARSE_JSON($1) AS header
FROM VALUES ($$
{
"metaData": "{code:'VALID_ERROR',message: 'the provided credentials were not correct'}",
"statusId": "3478-901fg-u9710" }
$$)
;
select ,
g.path , g.value
from sample_json c,
lateral flatten(input => header) f
, lateral flatten(input => parse_json(f.value)) g
where f.key = 'metaData'
;