С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/69: Рейтинг темы: голосов - 69, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 03.09.2021
Сообщений: 2

Как получить json с несколькими вложенными массивами посредством запроса к нескольким таблицам

03.09.2021, 14:53. Показов 13590. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Очень прошу помочь, всю голову сломала))
Мне нужно на выходе получить json вида:
JSON
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
`[{
        "title":"Котельная 1",
        "planning":[
            {"name":"Монтаж0","date":"2016-01-28T12:00:00.000Z"},
            {"name":"Монтаж1","date":"2017-06-23T12:00:00.000Z"},
            {"name":"Монтаж2","date":"2018-01-28T12:00:00.000Z"},
            {"name":"Монтаж3","date":"2020-06-23T12:00:00.000Z"},
            {"name":"Монтаж4","date":"2022-06-23T12:00:00.000Z"}
            ],
        "doing":[
            {"name":"Монтаж0","date":"2016-01-25T12:00:00.000Z"},
            {"name":"Монтаж1","date":"2017-10-02T12:00:00.000Z"},
            {"name":"Монтаж2","date":"2018-01-08T12:00:00.000Z"},
            {"name":"Монтаж3","date":"2020-07-20T12:00:00.000Z"},
            {"name":"Монтаж4","date":"2022-03-09T12:00:00.000Z"}
            ]
        }, 
        {
        "title":"Трансформаторная будка 1",
        "planning":[
            {"name":"Монтаж0","date":"2016-12-21T12:00:00.000Z"},
            {"name":"Монтаж1","date":"2017-06-23T12:00:00.000Z"},
            {"name":"Монтаж2","date":"2020-01-28T12:00:00.000Z"},
            {"name":"Монтаж3","date":"2021-06-23T12:00:00.000Z"},
            {"name":"Монтаж4","date":"2024-04-01T12:00:00.000Z"}
            ],
        "doing":[
            {"name":"Монтаж0","date":"2017-01-25T12:00:00.000Z"},
            {"name":"Монтаж1","date":"2018-07-02T12:00:00.000Z"},
            {"name":"Монтаж2","date":"2019-01-15T12:00:00.000Z"},
            {"name":"Монтаж3","date":"2020-07-20T12:00:00.000Z"},
            {"name":"Монтаж4","date":"2022-09-12T12:00:00.000Z"}
            ]
        }]`
Данные хранятся в базе MS SQL в трех таблицах, при запросе вида:
SQL
1
2
3
4
5
6
SELECT DISTINCT 
TableOfObj.title, planning.name, planning.date, doing.name, doing.date 
FROM TableOfObj
INNER JOIN planning ON TableOfObj.Planning_id = planning.Planning_id 
INNER JOIN doing ON TableOfObj.Doing_id = doing.Doing_id
FOR json auto
на выходе json с вложенными doing в planning, а нужно чтоб было как в примере выше.

Помогите, пожалуйста, поправить запрос, чтобы данные получить в желаемом виде
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2021, 14:53
Ответы с готовыми решениями:

Вывод данных из JSON объекта с вложенными массивами
Здравствуйте. Прошу помощи в решении проблемы. Есть JSON объект следующей структуры: var bigJson = { "jobArray": ...

Написание запроса к нескольким таблицам
Еще раз здравствуйте! Необходимо написать запрос который возвращает мне ФИО заказчика,Дату приема и дату сдачи заказа, Предоставленные...

Создание запроса по нескольким таблицам одной базы данных Access
Доброго времени суток, форумчане! Такая задача, ребят. Есть в базе куча таблиц с данными. Скажем называются они COMP1, COMP2....COMP96 ...

2
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
03.09.2021, 15:23
Лучший ответ Сообщение было отмечено YuliaNN как решение

Решение

T-SQL
1
2
3
4
5
6
7
select
 t.title,
 (select name, date from planning where Planning_id = t.Planning_id for json auto) as planning,
 (select name, date from doing where Doing_id = t.Doing_id for json auto) as doing
from
 TableOfObj t
for json auto
1
0 / 0 / 0
Регистрация: 03.09.2021
Сообщений: 2
03.09.2021, 15:45  [ТС]
Спасибо огромное!Работает)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.09.2021, 15:45
Помогаю со студенческими работами здесь

Null в поле типа дата в результате запроса по нескольким таблицам один ко многим
Есть 4 таблицы: events и sub_events связаны отношением один ко многим по полю events_id, sub_events и sub_events_related_institutions -...

Как получить код страницы после выполнения JSON запроса?
Всем, доброго времени суток. Столкнулся с такой проблемой: собрался я отпарсить часть сайта (координаты на карте), кадастровая карта у...

Как сделать запрос к нескольким таблицам?
Доброго времени суток. У меня возник такой вопрос как можно сделать запрос сразу к нескольким таблицам. вот так я делаю к одной $insert =...

Как использовать INSERT INTO к нескольким таблицам?
Здравствуйте, столкнулся с такой проблемой. У меня есть три таблицы, также у меня есть форма html с input и мне нужно через форму...

как посчитать сумму поля с фильтром по нескольким таблицам
Есть запрос SELECT SUM(`order`.total)AS total FROM `order` Left Join order_product ON order_product.order_id =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru