Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Поиск и получение положения в массиве JSON / 4 сообщений из 4, страница 1 из 1
11.03.2015, 15:47:25
    #38901508
Generalproger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и получение положения в массиве JSON
Здравствуйте, имеется колонка sup с типом JSON значение которой [[1,4,9],[2,3,5]]

Как провести выборку SELECT ... FROM ... WHERE любой_элемент(sup->любого_из_массивов) = 3;
И как потом получить положение этого массива в sup? Например успешно выбралось значение из второго массива, как узнать что этот массив sup->1?
...
Рейтинг: 0 / 0
11.03.2015, 17:39:20
    #38901651
Поиск и получение положения в массиве JSON
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with t (sup) as (
   select cast('[[1,4,9],[2,3,5]]' as json)
)
select t.sup, s1.i, s2.j
from t 
cross join generate_series(0, json_array_length(t.sup)-1) s1(i)
cross join generate_series(0, json_array_length(t.sup->s1.i)-1) s2(j)
where cast((t.sup->s1.i)->>s2.j as integer) = 3
;

sup               i j
----------------- - -
[[1,4,9],[2,3,5]] 1 1
...
Рейтинг: 0 / 0
11.03.2015, 18:10:09
    #38901683
Generalproger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и получение положения в массиве JSON
несколько значений тройки?,

Лопата, спасибо, то что надо)
...
Рейтинг: 0 / 0
11.03.2015, 18:22:05
    #38901702
Лопата
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и получение положения в массиве JSON
Generalprogerнесколько значений тройки?,

Лопата, спасибо, то что надо)
благодарность не по адресу

я сегодня своими тараканами занимался
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Поиск и получение положения в массиве JSON / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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