Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
27.04.2024, 00:32:06
 
Начало Помощь Поиск Войти Регистрация
Новости: Форум обновлен

+  Форум АО "ВЗЛЕТ"
|-+  Приборы ЗАО "Взлет"
| |-+  Отдел программистов
| | |-+  SQL запрос для фомирования адреса точки учета и данных о приборе
0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: SQL запрос для фомирования адреса точки учета и данных о приборе  (Прочитано 4072 раз)
surzhanskyalex
Разбирается
*

Харизма: 0
Офлайн Офлайн

Сообщений: 4


« : 04.05.2021, 06:07:53 »

я пытаюсь сделать один  запрос к таблицам Node . Address, Equip для формирования списка точек учета с адресами типом и номером прибора.
но из-за разной "длины" адреса (в адресе разное количество элементов город, улица, дом , объект) некоторые заводские номера приборов в выборку не попадают.
Как этот запрос реализован во ВЗЛЕТ СП-4? одним запросом или ВЗЛЕТ СП на каждый адрес делает отдельный запрос? 

SELECT Address.Name AS City, Table_1.Name AS Street, Table_2.Name AS House, Table_3.Name AS Object, Table_4.Name,Table_2.Id, [dbo].[Node].Name, Node.Id, Equip.Name, Equip.SerialNumber FROM Address
LEFT JOIN (SELECT Address.Id, Address.AddressId, Address.Name FROM Address) AS Table_1 ON Address.Id= Table_1.AddressId
LEFT JOIN (SELECT Address.Id, Address.AddressId, Address.Name FROM Address) AS Table_2 ON Table_1.Id= Table_2.AddressId
LEFT JOIN (SELECT Address.Id, Address.AddressId, Address.Name FROM Address) AS Table_3 ON Table_2.Id= Table_3.AddressId
LEFT JOIN (SELECT Address.Id, Address.AddressId, Address.Name FROM Address) AS Table_4 ON Table_3.Id= Table_4.AddressId
LEFT JOIN [dbo].[Node] ON Table_2.Id= Node.AddressId
LEFT JOIN [dbo].Equip ON Node.Id= Equip.Id
Where Address.type =1

* Doc1.docx (250.65 Кб - загружено 496 раз.)
Записан
Дмитрий Пархоменко
Global Moderator
*****

Харизма: 34
Офлайн Офлайн

Сообщений: 1697



« Ответ #1 : 04.05.2021, 10:59:42 »

Здравствуйте!

Взлет СП явно готовые запросы к БД не использует, он их формирует "на лету" при помощи ORM системы, то есть по факту, у нас нет готовых SQL-запросов.

Могу посоветовать Вам почитать про рекурсивные (иерархические) запросы, это поможет Вам с адресами.
Ну а с другими таблицами уже объедините.
Записан
surzhanskyalex
Разбирается
*

Харизма: 0
Офлайн Офлайн

Сообщений: 4


« Ответ #2 : 05.05.2021, 08:42:14 »

Отлично, нашел решение,  спасибо!
Записан
Страниц: [1] Печать 
« предыдущая тема следующая тема »
Перейти в:  


Войти

© 1990—2016, АО «Взлет».
Все права защищены.
Контактная информация
Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC
Материалы, размещенные на сайте, охраняются законодательством об авторском праве. Перепечатка материалов допускается только со ссылкой на сайт.