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

Query per l'elemento dell'array nella colonna JSON

Sì, è possibile:

SELECT *
FROM   tbl t, json_array_elements(t.json_col->'emails') AS elem
WHERE  elem->>'id' = 123;

tbl essendo il nome della tua tabella, json_col essendo il nome della colonna JSON.

Maggiori dettagli in questa risposta correlata:

  • Come faccio a eseguire query utilizzando i campi all'interno del nuovo tipo di dati JSON di PostgreSQL?

Maggiori informazioni sull'implicito CROSS JOIN LATERAL nell'ultimo paragrafo di questa risposta correlata:

  • PostgreSQL unnest() con numero elemento

Indice per supportare questo tipo di query:

  • Indice per trovare un elemento in un array JSON