powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / JSON. Вложенный массив. Как сделать?
5 сообщений из 5, страница 1 из 1
JSON. Вложенный массив. Как сделать?
    #39583268
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вот такая таблица:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
DECLARE @T TABLE
(
	Name VARCHAR(50),
	Adress VARCHAR(50),
	PhoneType VARCHAR(50),
	PhoneNumber VARCHAR(50)
)

INSERT INTO @T
SELECT 'Petya','Moscow','Home','25-9-21'
UNION ALL
SELECT 'Petya','Moscow','Mobile','8985-349-07-XX' 
UNION ALL
SELECT 'Vasya','Vladivostok','Mobile','8929-585-34-XX'

SELECT * FROM @T



Если я делаю так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT
Name,
Adress,
PhoneType,
PhoneNumber
FROM
@T
FOR JSON PATH



то получается три отдельных элемента. А мне нужно сделать вложенный массив. Как на картинке.
Поиск не дал нужных результатов...((
...
Рейтинг: 0 / 0
JSON. Вложенный массив. Как сделать?
    #39583273
Хе-хе )
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В режиме PATH можно использовать синтаксис с точкой — например, 'Item.Price' — для форматирования вложенных выходных данных.
https://docs.microsoft.com/ru-ru/sql/relational-databases/json/format-query-results-as-json-with-for-json-sql-server
...
Рейтинг: 0 / 0
JSON. Вложенный массив. Как сделать?
    #39583280
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну или "в лоб"
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select distinct
t1.Name,
t1.Adress,
PhoneNumbers.PhoneType,
PhoneNumbers.PhoneNumber
from
@T t1
inner join @T PhoneNumbers on t1.Name = PhoneNumbers.Name
for json auto
...
Рейтинг: 0 / 0
JSON. Вложенный массив. Как сделать?
    #39583304
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дедушка, да, так сработало..

Очень странная конструкция, INNER JOIN, DISTINCT. Понятно что это делается из за того что есть "for json auto"
Хотелось бы как то более понятно сделать через "for json path"....
...
Рейтинг: 0 / 0
JSON. Вложенный массив. Как сделать?
    #39583306
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хе-хе,

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


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