jsonb PostgreSQL условие по элементам массива
Всем привет! Использую PostgreSQL 15. Есть таблица типа:
game (тип text) | data (тип jsonb)
----------------------------------------
game1 | {"PRODUCTION_CATEGORY": ["AAA"],"COMPLETIONLIST_HOURS": [22]}
game2 | {"PRODUCTION_CATEGORY": ["AA"],"COMPLETIONLIST_HOURS": [21]}
game3 | {"PRODUCTION_CATEGORY": ["Indie"],"COMPLETIONLIST_HOURS": [22]}
мне нужно получить из нее значения колонки game, где в data->PRODUCTION_CATEGORY встречается "AAA"
Делаю вот такой запрос:
select anket.game::text from anket cross join jsonb_array_elements(data ->'PRODUCTION_CATEGORY') as categ where categ='AAA'
В итоге PostgreSQL выдает ошибку:
ERROR: ОШИБКА: неверный синтаксис для типа json LINE 2: where categ='AAA' DETAIL: Ошибочный элемент текста "AAA". CONTEXT: данные JSON, строка 1: AAA SQL state: 22P02 Character: 119
Не могу взять в толк, что ему не нравится! При этом если убрать условие where, то выводится нормально таблица в соответствии с командой cross join в запросе.
Помогите пожалуйста!