powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / JSON. Как соеденить разнородные данные?
10 сообщений из 10, страница 1 из 1
JSON. Как соеденить разнородные данные?
    #39644560
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Есть такая задачка: соеденить разнородные элементы в одном JSON.
Много гуглил но так и не понял как сделать...

Пример:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE @T TABLE (Name VARCHAR(50),Adress VARCHAR(50))
INSERT INTO @T SELECT 'Maksim','Moscow' UNION ALL SELECT 'Vasya','Vladivostok'

DECLARE @Сars TABLE (Brand VARCHAR(50),EngineType VARCHAR(50))
INSERT INTO @Сars SELECT 'Toyota','JZ' UNION ALL SELECT 'Nissan','RB-34'

SELECT Name,Adress FROM @T
SELECT Brand,EngineType FROM @Сars



Эти данные никак не соединены, но вывести их нужно в одном JSON:
Делаю вот так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT 
NAMES.*,
CARS.*
FROM  @T AS NAMES
FULL OUTER JOIN
@Сars AS CARS ON  1 <> 1
FOR JSON AUTO



Но получается не то что нужно...
На скриншоте попытался показать как вышло моим скриптом, и то, как нужно в итоге..
Кто нибудь готовил такой JSON?
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644565
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо ли ты подумала, пенелопа?

Код: sql
1.
2.
3.
SELECT NAMES = ( Select * FROM  @T FOR JSON AUTO )
         , CARS = ( Select * FROM  @Сars FOR JSON AUTO )
FOR JSON AUTO;
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644567
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222Хорошо ли ты подумала, пенелопа?

Код: sql
1.
2.
3.
SELECT NAMES = ( Select * FROM  @T FOR JSON AUTO )
         , CARS = ( Select * FROM  @Сars FOR JSON AUTO )
FOR JSON AUTO;



Что то не робит...
FOR JSON AUTO requires at least one table for generating JSON objects. Use FOR JSON PATH or add a FROM clause with a table name.
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644568
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,

агонь!

Santa89

а простой xml вам чем не угодил?
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644570
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну через PATH зашло...
Причем вроде бы то что нужно!
Спасибо!!!
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644572
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKaleks222,

агонь!

Santa89

а простой xml вам чем не угодил?

требование такое, отдаём на сторону потом этот JSON, его парсит какой то веб-сервис
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644585
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa89aleks222Хорошо ли ты подумала, пенелопа?

Код: sql
1.
2.
3.
SELECT NAMES = ( Select * FROM  @T FOR JSON AUTO )
         , CARS = ( Select * FROM  @Сars FOR JSON AUTO )
FOR JSON AUTO;



Что то не робит...
FOR JSON AUTO requires at least one table for generating JSON objects. Use FOR JSON PATH or add a FROM clause with a table name.

Осподе, шо тут нипанятного?

Код: sql
1.
2.
3.
SELECT NAMES = ( Select * FROM  @T FOR JSON AUTO )
         , CARS = ( Select * FROM  @Сars FOR JSON AUTO )
FOR JSON PATH('whatisit');
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644590
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222 а как этому добру присвоить заголовок поля?
сейчас у меня выводится вот так:
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644594
Santa89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал через:

Код: sql
1.
2.
3.
4.
5.
6.
SELECT
(
SELECT NAMES = ( Select * FROM  @T FOR JSON AUTO )
         , CARS = ( Select * FROM  @Сars FOR JSON AUTO )
FOR JSON PATH
) AS myField
...
Рейтинг: 0 / 0
JSON. Как соеденить разнородные данные?
    #39644596
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
select [Имя] = (SELECT NAMES = ( Select * FROM  @T FOR JSON AUTO ), CARS = ( Select * FROM  @Сars FOR JSON AUTO ) FOR JSON PATH('whatisit') );
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / JSON. Как соеденить разнородные данные?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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