1

Ich habe diese Tabelle:Postgresql: Wie für JSONb Arrays abfragen einen Wert (e) enthalten

enter image description here

CREATE TABLE lawyer (
    id SERIAL PRIMARY KEY, 
    data jsonb 
); 

INSERT INTO lawyer (data) VALUES 
    ('{"a": 1}'), 
    ('{"tags":["derecho", "civil", "laboral", "penal"]}'), 
    ('{"tags":["derecho", "penal"]}') 
; 

Was ich will, ist eine JSONb Abfrage in Postgres, wenn ich brauche Tanne zu finden

Shop json Arrays dire: Beispiel jeder Eintrag, der einen Weg, dies zu tun gefunden „zivilen“ OR „derecho“

+0

Mögliches Duplikat [Postgres JSONB: Abfrage von Werten im JSON-Array] (http://stackoverflow.com/questions/32357971/postgres-jsonb-query-values-in-json-array) – bjmc

Antwort

2

Schließlich enthält ctly als Top-Level-:

INSERT INTO lawyer (data) VALUES 
    ('["derecho","laboral","penal"]'), 
    ('["derecho", "civil", "laboral", "penal"]'), 
    ('["derecho", "penal"]') 
; 

SELECT * 
FROM lawyer 
WHERE data ? 'penal'; 

Ergebnis:

enter image description here

2

für die Suche nach der ursprünglichen Datenstruktur für eine Antwort sucht, ist hier die SQL:

SELECT * FROM lawyer WHERE lawyer.data->'tags' ? 'penal'