У меня есть следующий JSON, хранящийся в столбце типа jsonb. Я хочу запросить второй элемент внешнего массива и отфильтровать все строки, которые имеют значение в столбце «cid» как «CID1».
{"root":[[
{"cid":"CID1","Display":"User One","FName":"User","LName":"One"},
{"cid":"CID1","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID1","Display":"User Three","FName":"User","LName":"Three"},
{"cid":"CID2","Display":"User One","FName":"User","LName":"One"},
{"cid":"CID2","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID2","Display":"User Three","FName":"User","LName":"Three"}
],
[
{"cid":"CID1","Display":"User One","FName":"Userfff","LName":"One"},
{"cid":"CID1","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID1","Display":"User Three","FName":"User","LName":"Three"},
{"cid":"CID2","Display":"User One","FName":"User","LName":"One"},
{"cid":"CID2","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID2","Display":"User Three","FName":"User","LName":"Three"}
]]}
Я написал следующий запрос и успешно извлек все строки из второго массива в виде объектов JSON, однако, когда я пытаюсь их отфильтровать, я получаю сообщение об ошибке
42703: столбец "filterin" не существует
select jsonb_array_elements((ARRAY(select jsonb_array_elements(msg->'root') ele ))[2]::jsonb) filterin
from js
where filterin->>'cid'='CID1';
Что мне следует исправить в следующем запросе, чтобы я мог фильтровать столбцы?