У меня есть данные, хранящиеся как jsonb в столбце с именем «данные»:
{'people': [{"name": "Bob", "Occupation": "janitor"}, {"name": "Susan", "Occupation", "CEO"}]}
Я могу запросить это через:
SELECT mydata.pk FROM mydata, jsonb_array_elements(mydata.data->'people') AS a WHERE (a->>'name') = 'bob'
Почему я не могу заменить jsonb_array_elements(...) на "a"?:
SELECT mydata.pk FROM mydata WHERE (jsonb_array_elements(mydata.data->'people')->>'name') = 'bob'
Вместо этого я получаю следующее:
ERROR: argument of WHERE must not return a set