2014-02-12 20 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