RUS  ENG 

SQL-запросы

Страницы: Пред. 1 2 3 4 5 След.
RSS
SQL-запросы
 
Цитата
kos103153 написал:

Zulu версии:
Версия 8.0.0.7005u
Дата сборки 06.03.2019
Прошу помощи...
Для начала обновите пожалуйста версию. Если эффект сохранится, напишите
 
Алексей, после обновления всё заработало, так что вопрос снимается.
Я так понимаю, как только что-либо намереваешься сделать в Zulu, начинать нужно с обновления?... :facepalm:
 
Цитата
kos103153 написал:
Алексей, после обновления всё заработало, так что вопрос снимается.
Я так понимаю, как только что-либо намереваешься сделать в Zulu, начинать нужно с обновления?...
Ошибки ищем в любом случае только на текущей версии
 
Добрый день!
В БД есть поле, подключенное через справочник

Каким образом через SQL запрос получить реальное значение этого поля и как осуществить поиск по реальному значению такого поля, не по значению из справочника?
 
SELECT byref[Вид прокладки тепловой сети]
FROM [teplo]
where byref[Вид прокладки тепловой сети] = 2

1) реализовано только в 8 версии
2) для полнофункциональной поддержки данного механизма(при работе через ZuluServer) может потребоваться установка обновлений версии 8.0.0.7097u
 
Скрытый текст
Добрый день, при выполнении запроса
SELECT
[Адрес узла ввода],
[Расчетная нагрузка на отопление, Гкал/ч],
[Расчетная нагрузка на вентиляцию, Гкал/ч],
[Расчетная средняя нагрузка на ГВС, Гкал/ч]
FROM [слой]
WHERE Geometry.Selected() = 1 AND
typeid = 3
uni on all
(SEL ECT
"Суммарная нагрузка",
Sum([Расчетная нагрузка на отопление, Гкал/ч]),
Sum([Расчетная нагрузка на вентиляцию, Гкал/ч]),
Sum([Расчетная средняя нагрузка на ГВС, Гкал/ч])
FROM [слой]
WHERE Geometry.Selected() = 1
AND typeid = 3)
получаю по 2 адреса одного и того же дома, так как потребители отопления и ГВС раздельные.( один потребитель с нагрузкой на отопление, второй с нагрузкой на ГВС)
Есть ли возможность вывести суммарную нагрузку с одного дома?
Пример:
Адрес Qот(суммарно) Qвент(суммарно) Qгвс(суммарно)
 
Добавьте в конструкцию запроса Group BY
Код
SELECT 
[Адрес узла ввода],
Sum ([Расчетная нагрузка на отопление, Гкал/ч]),
Sum([Расчетная нагрузка на вентиляцию, Гкал/ч]),
Sum([Расчетная средняя нагрузка на ГВС, Гкал/ч])
FROM [Система централизованного теплоснабжения]
WHERE Geometry.Selected() = 1 AND
typeid = 3
group by [Адрес узла ввода]
union all
(SELECT 
"Суммарная нагрузка",
Sum([Расчетная нагрузка на отопление, Гкал/ч]),
Sum([Расчетная нагрузка на вентиляцию, Гкал/ч]),
Sum([Расчетная средняя нагрузка на ГВС, Гкал/ч])
FROM [Система централизованного теплоснабжения]
WHERE Geometry.Selected() = 1
AND typeid = 3) 
 
Добрый день!

Ранее обращалась по этому вопросу, после обновления проблема не ушла.
Версия 8.0.0.7160u
При формировании sql- запроса данные в сети не обновляются, хотя пишет что обновил и ставит время.
Код
UPD ATE [Kv_s] SE T [Kv_s].[Адрес узла ввода] =  
[Zdaniya].[Улица]+" "+[Zdaniya].[Номер дома]
WHERE [Kv_s].typeid=5 AND [Kv_s].Geometry.STWithin([Zdaniya].Geometry) 
 
Проверил все возможные варианты - работает.

Проверьте, есть ли в базе данных типового объекта 5 поле Адрес узла ввода.
 
Дмитрий Емельянов, Благодарю! Действительно дело было в ID
 
Добрый день!

Версия 8.0.0.7166u

Решаем задачу определения подсети от заданного узла. Используем функции анализа топологии Layer.NetworkTools. В цикле для всех ЦТП определяем подсеть. В представленном примере на сайте SQL запросом записывается в поле каждого элемента подсети ID ЦТП, а необходимо в поле элементов записать не ID ЦТП, а наименование ЦТП из поля базы данных ЦТП Name (в данном примере ЦТП-14). Подскажите как это правильно прописать

 
Добрый день!

1) Необходимо получить переменную - Наименование соответствующего ЦТП.
Пример получения данных тоже имеется.
Получение семантических данных слоя (VBScript)

2) В тексте SQL запроса изменить поле, куда писать наименование ЦТП и прописать полученную переменную.

 

Добрый день! Поддерживает ли Zulu INS ERT IN TO? Есть ли что-то аналогичное? Изначальная задача изменение типа объекта с Дросселирующего узла на простой узел с сохранением геодезической отметки! Тип поменяли а вот как проставить всем геодезию которая была- пока не понятно. Спасибо

 
Здравствуйте! На сегодняшний день решения этой задачи с помощью SQL запроса нет. Так как sql запросом нельзя сменить типы объектов!
Так же при смене типа объекта в режиме редактирования, будет создаваться новая таблица, которая сейчас не связана с таблицей предыдущего объекта. Подумаем что можно с этим сделать!

Можно решить задачу в ручную, но это топорный вариант! Если заинтересовал, обратитесь в тех. поддержку:
Юрий Сокол
[email protected]
+7 (812) 767-0352
+7 (812) 767-0353
+7 (812) 766-6728
Skype: sokolpoliterm
 
Добрый день!
Прошу помочь в составлении SQL запроса. Есть слой А с одним большим полигоном и слой Б с маленькими полигонами. Полигоны из слоя Б частично пересекаются с полигоном из слоя А.
Необходимо вычислить площадь пересечения для полигонов из слоя Б с полигоном из слоя А.
Спасибо.
 
Neru, добрый день! Чтобы решить такую задачу нам потребовались доработки в ядре SQL. В ближайшее время (скорее всего завтра) мы выложим обновление и я покажу как делать.
 
Цитата
Дмитрий Озеров написал:
Neru, добрый день! Чтобы решить такую задачу нам потребовались доработки в ядре SQL. В ближайшее время (скорее всего завтра) мы выложим обновление и я покажу как делать.
Спасибо, жду.
 
Neru, добрый день!
С текущим актуальным релизом проделайте следующее:
Код
DECLARE @A geometry;
SET @A = SELECT geometry FROM [Слой_A] WHERE Sys=ID_большого_полигона;
SELECT SUM(B.geometry.Intersection(@A).Area()) FROM [Слой_B] AS B;
В первых двух строках мы объявляем переменную и записываем туда геометрию из большого полигона, которую будем использовать для пересечения.
Далее мы вычисляем сумму площадей геометрии, полученной от пересечения (функция Intersection) объектов слоя B с указанным полигоном.
 
Версия 8.0.0.7255u
Дата сборки 11.11.2019
Добрый день! При выполнении запроса, получаю таблицу с суммами по полю "Длина участка"
SEL ECT [Магистраль],
SUM (CASE [Вид сети] WHEN 'Магистральные' THEN [Длина участка, м] ELSE 0 END) AS "Магистральные",
SUM (CASE [Вид сети] WHEN 'Квартальные' THEN [Длина участка, м] ELSE 0 END) AS "Квартальные",
SUM (CASE [Вид сети] WHEN 'Распределительные' THEN [Длина участка, м] ELSE 0 END) AS "Распределительные",
SUM (CASE [Вид сети] WHEN 'Сети ГВС' THEN [Длина участка, м] ELSE 0 END) AS "Сети ГВС",
SUM (CASE [Вид сети] WHEN 'Не определен' THEN [Длина участка, м] ELSE 0 END) AS "Не определен"
FR OM [Тепловая сеть]
GROUP BY [Магистраль]

Подскажите пожалуйста как получить такую же таблицу но с длинами в однотрубном исполнении.
Спасибо
Изменено: kkk - 25.11.2019 12:17:10
 
В расчетной модели 2-х трубную сеть от однотрубной отличает режим, modeid
Введите ещё один CASE с проверкой на режим и вводом Множителя на количество труб.


1, 5, 9 и т.д.

Включен

2, 6, 10 и т.д.

Отключен

3, 7, 11 и т.д.

Отключен обратный трубопровод

4, 8, 12 и т.д.

Отключен подающий трубопровод

https://www.politerm.com/zuluthermo/webhelp/index.html#layer_struct_regims_create_rules.html
 
Доброе утро!

Необходимо заполнить примитивы информацией из слоя тепловые сети. Пробовал заполнить слой Здания информацией из потребителя слоя Тепловые сети. Запрос выполняется без ошибок, указывает время обработки запроса, но информацией не заполняется необходимое поле.

Прошу посмотреть, что делаю не так?

UPDATE SET [Здания].[Улица]=[Тепловые сети г. Томска (до 2034 г.)].[Адрес узла ввода]
WHERE [Здания].typeid=1 AND [Здания].Geometry.STTouches([Тепловые сети г. Томска (до 2034 г.)].Geometry)




P.S. В обратную сторону запрос выполняется, т.е. из слоя Здания информация в потребителя записывается по запросу:

UPD ATE [Тепловые сети г. Томска (до 2034 г.)] SE T [Тепловые сети г. Томска (до 2034 г.)].[Адрес узла ввода]= [Здания].[Улица]+" "+[Здания].[Номер дома]

WHERE [Тепловые сети г. Томска (до 2034 г.)].typeid=3 AND [Тепловые сети г. Томска (до 2034 г.)].Geometry.STWithin([Здания].Geometry)

Версия 8.0.0.7166u

 
С предыдущим вопросом разобрался, запрос сработал:

UPD ATE SET [Здания].[Улица]=[Тепловые сети г. Томска (до 2034 г.)].[Адрес узла ввода]

WHERE [Здания].Geometry.STIntersects([Тепловые сети г. Томска (до 2034 г.)].Geometry) AND [Тепловые сети г. Томска (до 2034 г.)].typeid=3

Теперь не получается запрос для переноса информации из обобщенного потребителя слоя Тепловые сети в слой Перспектива (состоящий из примитивов отображающих земельные участки).

UPDATE SE T [Перспектива].[Наличие в схеме теплоснабжения]=[Тепловые сети г. Томска (до 2034 г.)].[№ п/п]

WHERE [Перспектива].Geometry.STIntersects([Тепловые сети г. Томска (до 2034 г.)].Geometry) AND [Тепловые сети г. Томска (до 2034 г.)].typeid=10

 
Разобрался, не верный номер указывал ID.
 
Добрый день. Имеется перечень потребителей с Sys, необходимо выделить данных потребителей на карте. Помогите, пожалуйста, с запросом для выполнения этой задачи.
 
Цитата
Carina написал:
Добрый день. Имеется перечень потребителей с Sys, необходимо выделить данных потребителей на карте. Помогите, пожалуйста, с запросом для выполнения этой задачи.

select sys
from [Пример квартальной тепловой сети]
where sys in (53,56,85,8)

или эквивалентный ему запрос

select sys
from [Пример квартальной тепловой сети]
where sys = 53 or sys =56 or sys = 85 or sys =8


Затем, результаты запроса можно будет добавить в группу.
Страницы: Пред. 1 2 3 4 5 След.