Сравнение двух таблиц запросом

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
iven
Пользователь
Сообщения: 46
Зарегистрирован: 29 дек 2022, 10:01

Сравнение двух таблиц запросом

Сообщение iven » 12 ноя 2025, 15:02

Добрый день.
Есть две таблицы с одинаковыми объектами, но с различными координатами данных объектов (точечные, линейные, полигоны)
Подскажите можно через запрос выбрать объекты таблицы t2, у которых координаты отличаются от этих объектов в таблице t1?
Аватара пользователя
Александр
Администратор
Сообщения: 702
Зарегистрирован: 18 апр 2019, 11:21

Re: Сравнение двух таблиц запросом

Сообщение Александр » 12 ноя 2025, 18:49

Да, в ГИС Аксиома можно найти объекты, у которых изменились координаты, с помощью SQL-запроса.
Главное условие - в обеих таблицах должно быть поле (или набор полей), позволяющее однозначно сопоставить объекты между собой (например, уникальный идентификатор).

Как это сделать:
  • Откройте обе таблицы на карте.
  • Вызовите SQL-запрос из вкладки Таблица.
    В диалоговом окне укажите:
    • Диалект запроса: Расширенный SQL;
    • Выбрать колонки: введите звёздочку (*) с клавиатуры;
    • Из таблиц — обе таблицы через запятую (например: t1, t2);
    • Условие
      t1.id = t2.id AND FromAxiGeo(t1.obj) <> FromAxiGeo(t2.obj)
      (замените id на ваше поле связи, а t1, t2 — на имена таблиц);
    • Поля Группировать по и Сортировать по оставьте пустыми;
    • Снимите галочку Создать запрос;
    • Установите галочку Выбрать на и укажите таблицу, в которой нужно выделить изменившиеся объекты (например, t2).
Запрос выделит в указанной таблице только те объекты, геометрия которых отличается от соответствующих объектов в другой таблице.

Ниже пример:
sql.png
И исходные таблицы для теста:
test.zip
(46.78 КБ) 20 скачиваний
Аватара пользователя
iven
Пользователь
Сообщения: 46
Зарегистрирован: 29 дек 2022, 10:01

Re: Сравнение двух таблиц запросом

Сообщение iven » 13 ноя 2025, 12:02

Спасибо. То что нужно
Ответить