sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo consulto una cadena de JSON basada en otra cadena dentro de JSON en PostgreSQL?

Puede usar json_array_elements en una unión lateral, simplemente consulte los campos que está buscando:

SELECT
  field -> 'fieldid' AS id,
  choice -> 'size' AS size
FROM
  my_table,
  json_array_elements(json_column -> 'base' -> 'fields') field,
  json_array_elements(field -> 'choices') choice
WHERE
  field ->> 'answer' = choice ->> 'choiceid'