4

I have a JSON field c1 in a table t1 which is of form

{
 "11111" : { "STATUS" : "1"},
 "22222" : { "STATUS" : "0"},
 "33333" : { "STATUS" : "0"}
}

I want find those row of t1 in which any keys status is 1, I have tried below command

with r1 as(select t1.*, json_object_keys(c1) as keys from t1) select * from r1 where r1.c1->keys->>'STATUS' = '1'; 

but it is not giving me any row?

1 Answer 1

2
select *
from t1
where exists (
    select 1
    from json_each(c1)
    where value ->> 'STATUS' = '1'
)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.