2014-02-12 21 views
4

我有一個表t1這是形式的JSON場C1如何使用PostgreSQL的JSON在哪裏工作鍵是任意?

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

我想找到T1其中任何按鍵狀態爲1的那些行中,我曾嘗試下面的命令

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