Re: How to select values in a JSON type of column?

Поиск
Список
Период
Сортировка
От Snjezana Frketic
Тема Re: How to select values in a JSON type of column?
Дата
Msg-id CA+9_ahY37NCoLbSFFPjstnxJSHS-gWJsSZ01YJQmaJOPVarj7Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: How to select values in a JSON type of column?  (Snjezana Frketic <frketic.snjezana@gmail.com>)
Ответы Re: How to select values in a JSON type of column?  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-general
Unfortunately, I also can not update my version :) 

On Wed, 18 Nov 2020 at 17:00, Snjezana Frketic <frketic.snjezana@gmail.com> wrote:
I actually have version 9.3.17 😬


On Wed, 18 Nov 2020 at 15:55, Thomas Kellerer <shammat@gmx.net> wrote:
Snjezana Frketic schrieb am 18.11.2020 um 11:29:
> I have a column called |targeting| in a table called |campaigns| .
> [...]
> and I need to select all the |ids| in |includes|.
> Currently, I am doing it like this 
>
> SELECT |targeting#>'{targets,0,audienceSegments,0,includes,0,segments,allOf,0,ids}'FROM campaigns;|  
>

If you are on Postgres 12 or later, this can be done using jsonb_path_query_array:

  select jsonb_path_query_array(targeting, '$.targets[*].*.includes.**.ids.id')
  from campaigns


Online example: https://dbfiddle.uk/?rdbms=postgres_12&fiddle=ee7f6e73055ffb3a98fcfd3d86763e35

Thomas


В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: psql backward compatibility
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: psql backward compatibility