Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом пожалуйста, нужно вернуть JSON / 6 сообщений из 6, страница 1 из 1
27.02.2020, 21:57
    #39931996
Lord British
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом пожалуйста, нужно вернуть JSON
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with t0 as
(
    select 1 as id, 'key1' as k, 'val1' as v union all
    select 1 as id, 'key2' as k, 'val2' as v union all
    select 1 as id, 'key3' as k, 'val3' as v union all
    select 1 as id, 'key4' as k, 'val4' as v union all
    select 2 as id, 'key1' as k, 'val1' as v union all
    select 2 as id, 'key2' as k, 'val2' as v
)
select *
from
    t0



Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
[
    {
        "id": 1,
        "r": [
            {
                "k": "k1",
                "v": "v1"
            },
            {
                "k": "k2",
                "v": "v2"
            },
            {
                "k": "k3",
                "v": "v3"
            },
            {
                "k": "k4",
                "v": "v4"
            }
        ]    
    },
    {
        "id": 2,
        "r": [
            {
                "k": "k1",
                "v": "v1"
            },
            {
                "k": "k2",
                "v": "v2"
            }
        ]    
    },
]
...
Рейтинг: 0 / 0
27.02.2020, 21:58
    #39931998
Lord British
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом пожалуйста, нужно вернуть JSON
Без self join'а можно такое провернуть?
...
Рейтинг: 0 / 0
27.02.2020, 22:20
    #39932004
Lord British
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом пожалуйста, нужно вернуть JSON
+ заговнокодил через селф джоин... индекс построил на id... пойдёт
...
Рейтинг: 0 / 0
27.02.2020, 23:06
    #39932013
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом пожалуйста, нужно вернуть JSON
Lord British
Без self join'а можно такое провернуть?


можно, версия вервера у вас какая?

есть варианты с cross apply, есть варианты с стринговым агрегатом (кастомным или если версия позволяет то string_agg)
...
Рейтинг: 0 / 0
27.02.2020, 23:08
    #39932014
Lord British
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом пожалуйста, нужно вернуть JSON
felix_ff,

у меня самая последняя возможная релизная версия (Azure SQL)
...
Рейтинг: 0 / 0
27.02.2020, 23:54
    #39932021
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом пожалуйста, нужно вернуть JSON
Lord British
felix_ff,

у меня самая последняя возможная релизная версия (Azure SQL)


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with t0 as
(
    select 1 as id, 'key1' as k, 'val1' as v union all
    select 1 as id, 'key2' as k, 'val2' as v union all
    select 1 as id, 'key3' as k, 'val3' as v union all
    select 1 as id, 'key4' as k, 'val4' as v union all
    select 2 as id, 'key1' as k, 'val1' as v union all
    select 2 as id, 'key2' as k, 'val2' as v
)
select id,
       json_query('[' +string_agg(formatmessage('{"k":"%s", "v":"%s"}', replace(k, 'ey', ''), replace(v, 'al', '')) , ',') +']') as r
from t0 
group by id
for json path
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом пожалуйста, нужно вернуть JSON / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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