I have data stored as jsonb in the "data" column:
{'people': [{"name": "Bob", "Occupation": "janitor"}, {"name": "Susan", "Occupation", "CEO"}]}
I can request this via:
SELECT mydata.pk FROM mydata, jsonb_array_elements(mydata.data->'people') AS a WHERE (a->>'name') = 'bob'
Why can't I replace "a" with jsonb_array_elements (...) ?:
SELECT mydata.pk FROM mydata WHERE (jsonb_array_elements(mydata.data->'people')->>'name') = 'bob'
Instead, I get the following:
ERROR: argument of WHERE must not return a set
user776942
source
share