Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / jsonb и where / 4 сообщений из 4, страница 1 из 1
07.02.2018, 20:33
    #39598574
seadb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsonb и where
Есть массив элементов, например:

[{"tw": 24.6, "hiv": 8.7, "lev": 10, "sol": 35.5}, {"tw": 20.1, "lev": 20, "sol": 35.4}, {"tw": 20.0, "lev": 30}]

т.е. значения параметров на различных уровнях.
Как задать условие на выборку по значению ключа. Например:

SELECT jsonb_array_elements(data)::jsonb->'tw', jsonb_array_elements(data)::jsonb->'lev' where ? здесь должно быть что-то вроде lev=10
...
Рейтинг: 0 / 0
08.02.2018, 13:22
    #39598929
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsonb и where
...
Рейтинг: 0 / 0
08.02.2018, 15:43
    #39599141
Silender
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsonb и where
Код: plsql
1.
2.
3.
4.
5.
6.
select *
from (
  select (j->>'tw')::numeric as tw, (j->>'lev')::integer as lev, (j->>'sol')::numeric as sol
  from jsonb_array_elements('[{"tw": 24.6, "hiv": 8.7, "lev": 10, "sol": 35.5}, {"tw": 20.1, "lev": 20, "sol": 35.4}, {"tw": 20.0, "lev": 30}]'::jsonb) j 
  ) js
where lev=10;
...
Рейтинг: 0 / 0
08.02.2018, 16:30
    #39599230
seadb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsonb и where
Silender,
Работает :-) Спасибо
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / jsonb и where / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]