2014-02-12 2 views
4

내가 형태 인 테이블 t1에서 JSON 필드 C1이는키가 임의 인 postgresql JSON을 사용하는 방법은 무엇입니까?

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

내가 어떤 키 상태가 1 인 T1의 그 행을 찾을 싶어, 나는 명령

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

아래 시도 그러나 그것은 나에게 아무런 연속도주지 않고있다?

답변

2
select * 
from t1 
where exists (
    select 1 
    from json_each(c1) 
    where value ->> 'STATUS' = '1' 
) 
+0

감사 ... 작동합니다. – napster