powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить элементы из массива json
9 сообщений из 9, страница 1 из 1
Получить элементы из массива json
    #40012591
rigor mortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет
Что-то не гуглится. Есть таблица, одно поле содержит json который содержит массив

{
“Array”[
{“item”:1},
{“item”:2}
]
}

Надо сделать запрос чтоб для каждой записи таблицы вывести все элементы массива array в одном поле, то есть:

Код: sql
1.
2.
3.
4.
5.
RecordId  item
1            1
1            2
2            7
2            5



Как сделать для одной записи понятно, но как для более чем одна что-то не получается. Подскажите кто знает?
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012598
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortis,

вы чушь какую то привели, во первых это не валидный json, во вторых приведите тестовые данные которые будут содержать данные предоставленные вашей требуемой выходной формой
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012647
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
во первых это не валидный json

Вполне себе валидный, только после Array двоеточие пропущено - скорее всего просто опечатка.
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012651
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
felix_ff
во первых это не валидный json

Вполне себе валидный, только после Array двоеточие пропущено - скорее всего просто опечатка.
и сможете придумать, как на этом "валидном json" получен результат из сабжа ?
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012654
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
fkthat
пропущено...

Вполне себе валидный, только после Array двоеточие пропущено - скорее всего просто опечатка.
и сможете придумать, как на этом "валидном json" получен результат из сабжа ?

да что тут думать

Код: sql
1.
2.
3.
4.
5.
6.
7.
select 
  record_id = 1 
  , json_filed = '{"Array": [{"item":1},{"item":2}]}'
union all
select 
  record_id = 2
  , json_filed = '{"Array": [{"item":7},{"item":5}]}'
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012655
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,


ну я и говорю, то что изначально предоставил ТС не является валидным json если загнав его в парсер мы получаем исключения.
понятное дело что там опечатка только в одном знаке, а если бы пример был бы из тысячи элементови не хваталобы 2 знаков.
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012658
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortis,

типа такого?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with t as (
    select 
        1 id
        , cast('{"arr":[{"a":1,"b":2},{"a":2,"b":3}]}' as nvarchar(max)) as j
)
select
    t.id
    , z.*
from 
    t
    cross apply openjson(t.j,'$.arr') with (a int '$.a', b int '$.b') as z
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012663
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

тогда уж скорее так, если у него структура таблицы такая:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with t as (
    select 
      record_id = 1 
      , json_filed = '{"Array": [{"item":1},{"item":2}]}'
    union all
    select 
      record_id = 2
      , json_filed = '{"Array": [{"item":7},{"item":5}]}'
)
select t.record_id, json_value(x.value, '$.item') as [item]
from t
cross apply openjson(t.json_filed, '$.Array') x;
...
Рейтинг: 0 / 0
Получить элементы из массива json
    #40012762
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
fkthat
пропущено...

Вполне себе валидный, только после Array двоеточие пропущено - скорее всего просто опечатка.
и сможете придумать, как на этом "валидном json" получен результат из сабжа ?

Смогу, только сейчас недосуг, может быть попозже.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить элементы из массива json
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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