CREATE TABLE tableTestJSON (
id serial primary key,
data jsonb
);
INSERT INTO tableTestJSON (data) VALUES
('{}'),
('{"a": 1}'),
('{"a": 2, "b": ["c", "d"]}'),
('{"a": 1, "b": {"c": "d", "e": true}}'),
('{"b": 2}');
Ich kann die Werte auswählen. Das ist kein Problem.AbfragenJSON PostgreSQL
SELECT * FROM tableTestJSON;
Ich kann testen, dass zwei JSON-Objekte identisch sind diese Abfrage.
SELECT * FROM tableTestJSON WHERE data = '{"a":1}';
Diese Abfrage der Ausgabe lautet:
id | Daten ---- + ------ 1 | { "A": 1} (1 row)
Aber ich habe ein Problem: Lets sagen, ich habe eine Spalte:
{a: 30}
{a: 40}
{a: 50}
In diesem Fall, wie kann ich Abfrage für alle Elemente enthalten, a = 30 oder a = 40. Ich konnte keine Lösung für 'oder' finden, z
select * from table where a in (10,20); // ??
oder Wie kann ich auf einem solchen Zustand abfragen?
Zusätzlich Test I die eine andere asnwer wie diese. Wie diese Abfrage: SELECT * FROM tableTestJSON WHERE Daten #> '{a}' IN ('10', '20'); Dank. – aemre