2015-02-23 15 views
0

我有下表中的Postgres 9.4過濾行給出鍵/值對在jsonb列

CREATE TABLE public.neuro (
    nid int4 NOT NULL DEFAULT nextval('neuro_nid_seq'::regclass), 
    data jsonb, 
    CONSTRAINT neuro_pkey PRIMARY KEY (nid) NOT DEFERRABLE INITIALLY IMMEDIATE 
); 

與記錄:

{"item2": {"1": "0", "uid": "0", "nota": "weqcqwe qwe wq", "fecha": "23-02-2015", "examen": "aesc", "puntaje": "0", "paciente": "103636426"}} 
{"item2": {"1": "0", "uid": "0", "nota": "text", "fecha": "23-02-2015", "examen": "aesc", "puntaje": "0", "paciente": "103636426"}} 
{"item3": {"1": "3", "2": "1", "3": "3", "uid": "0", "fecha": "23-02-2015", "examen": "fab", "puntaje": "7", "paciente": "103636426"}} 
... 

如何選擇與examen ='aesc'的所有記錄?我嘗試使用運營商->>@。如何以相同的方式選擇一些字段?我需要在jSON列中保留最初的「itemX」。

+0

與您的數據設置,我不太確定一個非常有效的方法 - 但是,您可以使用「like」對json的文本表示... – 2015-02-23 19:06:55

+0

您的JSON對象中有多少級別的嵌套? – 2015-02-23 22:37:06

回答