powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом пожалуйста, нужно вернуть JSON
6 сообщений из 6, страница 1 из 1
Помогите с запросом пожалуйста, нужно вернуть JSON
    #39931996
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Помогите с запросом пожалуйста, нужно вернуть JSON
    #39931998
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без self join'а можно такое провернуть?
...
Рейтинг: 0 / 0
Помогите с запросом пожалуйста, нужно вернуть JSON
    #39932004
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ заговнокодил через селф джоин... индекс построил на id... пойдёт
...
Рейтинг: 0 / 0
Помогите с запросом пожалуйста, нужно вернуть JSON
    #39932013
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord British
Без self join'а можно такое провернуть?


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

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

у меня самая последняя возможная релизная версия (Azure SQL)
...
Рейтинг: 0 / 0
Помогите с запросом пожалуйста, нужно вернуть JSON
    #39932021
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом пожалуйста, нужно вернуть JSON
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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