Eu tenho um campo jsonb chamado 'queues' que contém o seguinte:
{
"call_queue_pid": [
1,
2,
3
],
"omni_queue_pid": [
4,
5,
6
]
}
Eu tento a consulta abaixo para pesquisar omni_queue_pid = 5
Select *
from ws a,
jsonb_array_elements(a.queues::jsonb) j
Where cast(j->> 'omni_queue_pid' as integer) = 5
mas retorna SQL Error [22023]: ERRO: não é possível extrair elementos de um objeto
o que eu perdi?
preciso de ajuda
obrigado Don
Você precisa desaninhar a matriz:
Não está claro qual resultado você deseja exatamente, mas uma condição EXISTS pode ser mais eficiente:
Ou usando um operador jsonpath: