PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment puis-je interroger une chaîne de JSON basée sur une autre chaîne dans le JSON dans PostgreSQL ?

Vous pouvez utiliser json_array_elements dans une jointure latérale, puis interrogez simplement les champs que vous recherchez :

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'