Rory Campbell-Lange <rory@xxxxxxxxxxxxxxxxxx> writes: > ... I can't work out how to return the whole row containing a desired > people id value. Something like this, maybe? =# select * from x where '2003'::jsonb in (select jsonb_array_elements(j #>'{people}')->'id'); j -------------------------------------------------- {"a": 3, "people": [{"id": 2003}, {"id": 2005}]} (1 row) It's not too efficient though :-( regards, tom lane