PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie frage ich eine Zeichenfolge von JSON basierend auf einer anderen Zeichenfolge innerhalb von JSON in PostgreSQL ab?

Sie können json_array_elements in einem lateralen Join, dann fragen Sie einfach die Felder ab, nach denen Sie suchen:

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'