Справочник по конструктору запросов
Справочник по конструктору запросов
Таблицы
Список таблиц подзапроса содержит все идентификаторы таблиц или представлений, используемых в запросе. Это имена таблиц/представлений в базе данных, на которые есть ссылки в операторе FROM. Цель этого списка — выполнить все необходимые добавления схемы к этим именам до выполнения SQL-оператора. Поскольку оператор FROM может содержать любой SQL-синтаксис (включая специфичный для базы данных синтаксис), GeoDin не будет анализировать эту строку, чтобы определить, какие имена таблиц должны быть дополнены именем схемы. Вместо этого определяемый здесь список таблиц сообщает GeoDin, какие имена включать в оператор FROM и из других частей конфигурации запроса. Все имена, указанные здесь, автоматически дополняются именем схемы из конфигурации базы данных GeoDin.
Пример:
Все таблицы GeoDin создаются пользователем dbo (владельцем базы данных) этой базы данных. Поэтому к таблицам другие пользователи могут обращаться только в том случае, если схема указана и используется полное имя таблицы:
dbo.GeoDin_LOC_LOCREG
Чтобы не указывать замену схемы для каждой таблицы, можно сохранить схему таблиц GeoDin в конфигурации подключения к базе данных Конфигурация для пользовательских баз данных.
Примечание: Имена псевдонимов, указанные в операторе FROM (например, для подзапросов), здесь не должны быть включены. Иначе расширение схемы будет добавлено к псевдониму, и оператор завершится ошибкой.
Конфигурация
В конфигурации настройки запроса выполняются на основе информационной базы, используемой для запроса.
Конфигурация охватывает:
оператор FROM в узле связи (FROM) для SQL-команды
и другие критерии Ограничивающие поля для автоматического ограничения (WHERE) запроса в зависимости от положения запроса в менеджере объектов GeoDin
Определение информации, необходимой для обработки результата запроса Поля результата
В записи Подзапросы можно просмотреть запрос, щёлкнув "SQL Preview" на нужном подзапросе.
Примечание: Показанный в предварительном просмотре SQL-оператор можно напрямую протестировать в базе данных после замены идентификатора проекта ($PRJID), идентификатора местоположения ($LOCID) или INVID ($INVID)
Дополнительные параметры:
*-*DISTINCT при выполнении запроса в GeoDin Object Manager-
Определяет, следует ли выполнять в запросе команду SELECT DISTINCT ... или только команду SELECT. В обоих случаях GeoDin отображает объект, который встречается в запросе более одного раза, только один раз в менеджере объектов. Это делается путём проверки идентификаторов объектов. Общий DISTINCT не используется по умолчанию, поскольку использование этой команды зависит от структуры запроса. Если вы уверены, что ваша SQL-команда допускает distinct, эта опция может значительно ускорить запрос.
-Игнорировать ошибку-
Если запрос приводит к ошибке, по умолчанию отображается сообщение об ошибке. С помощью этой опции можно скрыть сообщение об ошибке. Если при выполнении запроса возникает ошибка, то она игнорируется, и запрос не вставляется в менеджер объектов. Эту опцию можно использовать, если вы хотите создать запрос, который не может быть использован ни в одном типе базы данных, и хотите игнорировать эту ошибку. Рекомендуется вместо использования этой опции использовать конфигурацию Требования используются для запроса, потому что всегда быстрее контролировать требования, чем натолкнуться на ошибку в запросе.
-Использовать DISTINCT для экспорта shape-
Если запрос используется для создания shape-файла, здесь можно выбрать, должна ли для экспорта shape использоваться команда SELECT DISTINCT или "простая" команда SELECT.
Условие
Этот раздел определения системных запросов можно использовать дополнительно для ограничения результатов запроса. Этот раздел сопоставим с оператором WHERE SQL-запроса и автоматически добавляется к запросу к базе данных. Добавьте в список одну или несколько записей для редактирования.
Или
¯¯¯
Этот раздел системных запросов можно использовать для сужения результатов запроса. Он эквивалентен ограничению WHERE в SQL-запросе и автоматически добавляется к запросу к базе данных. Возможные логические операторы — связи AND и OR, которые могут быть организованы в двух уровнях. На первом уровне связанные подзапросы соединяются через OR. Первое условие появляется с ключевым словом IF и обозначает начало условий.
На первом этапе, следовательно, определяется:
<<Условие 1>> OR <<Условие 2>> OR <<Условие 3>> ...
На втором уровне отдельные условия являются «истинными» критериями запроса, где можно использовать операторы AND.
Примеры условий
Пример с использованием координат измерительной точки (оператор OR):
Запрос должен найти все измерительные точки, у которых либо X-координата (XCOORD) больше 100, либо Y-координата больше 50. Условия будут следующими:
IF
XCOORD > 100
OR
YCOORD > 50
Этот пример можно расширить, чтобы показать поиск объектов по их координатам (связь OR и AND). Запрос находит все измерительные точки с X-координатами больше 100 и меньше 200 или с Y-координатами больше 50 и меньше 100:
IF
XCOORD > 100
XCOORD < 200
OR
XCOORD > 50
YCOORD < 100
Если условия для X-координат и Y-координат должны одновременно выполняться, условия вводятся на втором уровне (AND) запроса:
IF
XCOORD > 100
XCOORD < 200
YCOORD > 50
YCOORD < 100
И
На уровне условий необходимо определить различные условия поиска. Здесь условия задаются либо как отдельные условия, либо как комбинация с логическим AND. Можно объединять группы условий друг с другом с помощью логического Или.
Настройка условий
В поле DATABASE FIELD NAME необходимо определить имя поля данных, которое должно использоваться для запроса.
Имя поля задаётся в формате <имя_таблицы>.<имя_поля>.
В поле "condition" нужное условие можно задать непосредственно или использовать параметризованное условие. Если оно задано напрямую, CONDITION выражается как логическое выражение с оператором сравнения и значением.
Возможные операторы сравнения:
> больше чем
=> больше или равно
< меньше чем
<= меньше или равно
= равно
<> не равно
is null поле данных пустое
is not null поле данных не пустое
like 'A%' Содержимое в кавычках с подстановочными знаками в символьной строке: _ один символ или % несколько символов
in ('T1','T2') список значений в круглых скобках, значения разделяются запятыми, для текстовых полей значения берутся в кавычки,
для числового поля значения задаются с десятичной точкой (не запятой) и без кавычек
Условия что запрос даты : пожалуйста, проверьте в вашей базе данных правильное форматирование:
Доступны следующие стандартные форматы:
Access #MM/DD/YYYY#
Oracle 'DD-MM-YYYY'
MySQL, MS SQL, PostgreSQL 'DD.MM.YYYY'
Условия что запрос timestamp(дата/время): пожалуйста, используйте следующие стандартные форматы:
Access: #ММ/ДД/ГГГГ ЧЧ:ММ:СС#
Oracle: TO_DATE('31.05.2015 12:24:36','дд.мм.гггг чч24:ми:сс')
MySQL, MS SQL, PostgreSQL: 'ДД.ММ.ГГГГ ЧЧ:ММ:СС'
Если используется параметризованный запрос, при первом выполнении запроса открывается окно. Все условия, отмеченные как параметризованные, можно вводить и изменять в этом окне.
Примечание: Использование параметризованного условия обозначается символами ":?". При желании перед этой строкой символов можно указать оператор сравнения. В этом случае данный оператор будет предварительно подставлен при запросе параметров.
Если используется параметризованный запрос, становятся доступны различные необходимые настройки.
Параметр можно пометить как обязательный — если это не требуется, параметр будет проигнорирован, когда он пуст.
Также можно задать значение по умолчанию и использовать интервал.
Опция -Использовать интервал- создаёт особый тип условия. Если вы хотите выбрать объекты в заданной области вокруг выбранной координаты, возможно следующее условие:
Имя поля данных: GeoDin_LOC_LOCREG.XCOORD
Условие: >=:?
использовать интервал по x
100
При выполнении запроса отображается окно ввода, в котором показана выбранная X-координата (Easting) и расстояние (по умолчанию 100), которое нужно ввести. Следующее условие WHERE автоматически добавляется к SQL-оператору:
... (GeoDin_LOC_LOCREG.XCOORD >= Cоордината-100) и (GeoDin_LOC_LOCREG.XCOORD <= C*оордината+*100)
Если вы выберете второе условие для поля данных GeoDin_LOC_LOCREG.YCOORD (Northing), объекты можно будет выбирать из заданного прямоугольника вокруг выбранного местоположения, вводя 3 числа вместо ввода углов прямоугольника.
Использование параметра $%SYSDATE$
Вы можете использовать $%SYSDATE$ как заполнитель для параметра даты, чтобы выбрать текущую дату в качестве значения по умолчанию. Также возможны математические выражения с макросом $%SYSDATE$, например $%SYSDATE$-7 для выбора того же дня неделю назад.
Поля просмотра
Поля отображения определяют, какие поля базы данных из объекта должны отображаться в GeoDin Object Manager (GOM).
Отображаемые объекты и содержимое на самом деле являются результатом запроса — обычно это имя объекта или "LONGNAME".
Однако можно объединять поля для более детального отображения, например, имя и тип скважины.
Вы можете организовать, какие поля и в каком количестве должны отображаться Поле отображения.
Для отображения текста доступны необязательные инструкции по форматированию.
В поле ввода можно определить макрос, который применяется к результатам SQL-запроса.
Если макрос не определён, записи данных будут показаны такими, какими они существуют в базе данных.
Это означает, например, что коды не будут обратно преобразованы в полный текст, а будут показаны как коды.
Макрос может содержать только ссылки на определённые поля отображения. Следовательно, макрос не заменяет поля отображения, а дополняет и форматирует их.
SELECT DISTINCT GeoDin_LOC_LOCREG.LOCID, GeoDin_LOC_ZMGENINF.SHORTNAME, GeoDin_LOC_ZMGENINF.PURPOSE ....
Текстовые макросы реализованы точно так же, как в шаблоне, поэтому доступен весь диапазон параметров форматирования.
Пример:
$GeoDin_LOC_ZMGENINF.SHORTNAME$ ($GeoDin_LOC_ZMGENINF.PURPOSE$)
При использовании текстового макроса необходимо определить дополнительный макрос, который используется при обновлении макроса в GOM. Это происходит всякий раз, когда общие данные редактируются и сохраняются. В этот момент для разрешения макроса используется загруженный объект. Исходный запрос или запись данных, которая обеспечивает запись в GOM, не используются, поскольку это не требуется и только напрасно расходует память. Макрос для обновления должен быть создан как в шаблоне, с ссылками на поля объекта. Обычно предшествующие имена таблиц опускаются.
Поля сортировки
Здесь могут быть выбраны дополнительные поля данных как дополнительные критерии сортировки результатов запроса (то есть независимо от отображаемых полей). Поле сортировки определяется с помощью <имя_таблицы>.<имя_столбца>. При использовании полей сортировки к SQL-оператору автоматически добавляется команда ORDER BY. Кроме того, можно определить, используется ли сортировка для выполнения в менеджере объектов или в макете.
Поля результата
Поля результата добавляются к списку полей данных оператора SELECT и определяют структуру данных результата. Поле результата определяется как <имя_таблицы>.<имя_столбца>.
Подзапрос
Подзапрос — это независимый запрос к базе данных (SQL-оператор), который возвращает набор результатов. SQL-оператор задаётся не как полный оператор, а через набор отдельных определений. В отдельных полях ввода определяются определённые фрагменты запроса, которые GeoDin объединяет в полный SQL-оператор. Причина этого — наличие ряда изменяемых частей SQL-оператора, например списка полей в SELECT, который будет создан в GeoDin в соответствии с назначенным использованием. Это единственный способ добиться оптимизированного (ориентированного на задачу) запроса к базе данных, который существенно отличается, например, при выполнении запроса в менеджере объектов GeoDin от выполнения того же запроса для получения данных в макете.
Name
Здесь можно ввести имя для подзапроса.
Описание шаблона
Введите здесь краткое описание запроса. Описание отображается в помощнике запросов, если запрос определён как шаблон для пользовательских запросов (см. Системный запрос)
Объединять условия с Or/And
Эта опция управляет объединением отдельных условий запроса. В зависимости от запроса с несколькими условиями "Or" связь в главном узле
(Условие 1 и Условие 2) или (Условие 1 и Условие 3)
можно лучше заменить на "And" связь в главном узле
(Условие 1) и (Условие 2 или Условие 3).
SQL-Preview
Здесь отображается SQL-команда на основе текущей конфигурации запроса.
Тип запроса объектной рамки
При редактировании Запрос рамки объекта можно выбрать между определением структурированного шаблона или полного SQL-оператора. SQL-оператор позволяет использовать все возможности выбора данных (например, SELECT COUNT(Datafield) AS GCCOUNT FROM table), но, вероятно, не может быть выполнен во всех типах баз данных. В целом предпочтительнее структурированный шаблон.
узле связи (FROM)
Link — это предложение FROM SQL-оператора. Информация может быть получена из одной таблицы или из набора таблиц, как это определено в условии FROM. Если выбрана только одна таблица, здесь нужно ввести только имя таблицы. Для более сложных выражений синтаксис предложения FROM должен соответствовать SQL-спецификациям используемой системы баз данных.
Определение или структура предложения FROM может различаться в разных системах баз данных из-за особенностей конкретного SQL-синтаксиса.
Подсказка: Может быть полезно сначала создать запрос в программе базы данных с помощью графического редактора запросов. Затем предложение FROM этого оператора можно скопировать сюда (пример: редактор запросов в MS Access)
Ограничивающие поля
Ограничивающие поля используются для определения полей данных, которые GeoDin автоматически добавляет к условию WHERE запроса в зависимости от положения запроса в менеджере объектов, чтобы ограничить набор результатов в соответствии со структурой менеджера объектов.
Основа — это Условия отображения запроса.
База данных, запросы к базе данных
Запросы не ограничиваются дополнительно. Ограничивающие поля могут оставаться пустыми.
Проект, запросы проекта
Запросы ограничиваются с помощью идентификатора проекта. Ограничивающее поле PRJ_ID должно быть заполнено.
Объекту
Запрос ограничивается с использованием идентификатора проекта и идентификатора объекта. Ограничивающие поля PRJ_ID и LOCID должны быть заполнены.
Измерительная точка
Запрос ограничивается с использованием идентификатора измерительной точки. Ограничивающее поле INVID должно быть заполнено.
Столбцы должны быть выбраны в формате <имя_таблицы>.<имя_столбца> и должны входить в результат запроса.
Поле отображения
Поля отображения определяют, какие поля базы данных используются для именования результатов запроса в менеджере объектов GeoDin. Таким образом, имя может быть составлено из нескольких полей. Одним из часто используемых полей базы данных является имя объекта LONGNAME. Но можно также использовать составные имена, такие как имя и глубина.
Database
DemoDB
Демо GeoDin
Объекты
Измерительные точки
Проект
Скважина 1
Скважина 2
Проект 2
Проект 3
Объекты
Измерительные точки
Database
Имя поля данных
В этом поле определяется отображаемое поле данных в форме <имя таблицы>.<имя столбца>.
Текст расширения
Символы, введённые здесь, добавляются к содержимому поля данных как "текст расширения". Например, содержимое поля отображения, такого как GeoDin_LOC_LOCREG.ZCOORDE (конечная глубина), может быть дополнено единицей измерения, например: " м", или более длинными вариантами, такими как "в м ниже уровня земли".
Критерий сортировки
Выберите последовательность сортировки для этого поля данных. К SQL-оператору автоматически добавляется оператор ORDER BY.
Свойства портала
Эта глава справки недоступна на текущем языке. Вы можете обновить файлы справки GeoDin с помощью функции <Online update>. Для этого необходимо подключение к интернету.
Свойства веб-сайта
Эта глава справки недоступна на текущем языке. Вы можете обновить файлы справки GeoDin с помощью функции <Online update>. Для этого необходимо подключение к интернету.
Свойства веб-сайта
Здесь можно задать разрешение и интервал обновления, а также цвет фона для веб-сайта.
Кроме того, можно выбрать HTML-шаблон для веб-сайта.
Сохранять макет в кэше:
При установке галочки макет будет храниться в кэше в течение определённого времени. В зависимости от макета это может значительно сократить время ответа сервера.
Настройки кэша
Эта глава справки недоступна на текущем языке. Вы можете обновить файлы справки GeoDin с помощью функции <Online update>. Для этого необходимо подключение к интернету.
Настройки кэша
Здесь можно задать количество минут, в течение которых макет должен храниться в кэше.
Если, например, для мониторинговых макетов данные обновляются каждые пять минут, имеет смысл также оставлять макет в кэше на пять минут.
По истечении этого времени он автоматически удаляется и при повторном запросе связывается с новыми данными.
Последнее обновление
Это было полезно?