Как сгенерировать JSON из двух таблиц - PullRequest
0 голосов
/ 16 апреля 2019

Я работаю над SQL Server 2008. Мне нужно вручную создать JSON с данными из двух таблиц, которые связаны отношением «один ко многим». Итак, мне нужно сначала получить строку из таблицы A, а затем получить все строки из таблицы B, соответствующие строке из таблицы A, и использовать конкатенацию для генерации JSON. Я сделал это для данных из одной таблицы. Я подумываю создать временную таблицу и поставить данные таблицы А на первое место. Затем выполните цикл и получите данные из таблицы B и объедините их в JSON. Там может быть лучший способ сделать это. Любое руководство будет с благодарностью.

1 Ответ

0 голосов
/ 24 апреля 2019

Вы можете использовать FOR JSON для достижения этого

DROP TABLE IF EXISTS #tempA;
DROP TABLE IF EXISTS #tempB;

Create TABLE #tempA(ID INT IDENTITY(1,1), ValueOfA VARCHAR(50))
Create TABLE #tempB(ID INT IDENTITY(1,1), ValueOfB VARCHAR(50))

INSERT INTO #tempA VALUES ('Testing A1'), ('Testing A2'), ('Testing A3'), ('Testing A4'), ('Testing A5')
INSERT INTO #tempB VALUES ('Testing B1'), ('Testing B2'), ('Testing B3'), ('Testing B4'), ('Testing B5')

SELECT a.ID as 'ID', a.ValueOfA as 'A', b.ValueOfB as 'B'
FROM #tempA a
INNER JOIN #tempB b ON a.ID = b.ID
FOR JSON PATH
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...