PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come filtrare l'array json per ogni riga restituita?

Puoi usare json_array_elements per annullare l'annidamento di JSON e array_agg per annidarlo di nuovo dopo il filtraggio. Qualcosa del genere:

SELECT t.id, array_to_json(array_agg(j))
FROM your_table t, json_array_elements(t.jsonColumn) j
WHERE j->>'field' = 'abc'
GROUP BY id;