Страница 1 из 1

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

Добавлено: 12 ноя 2025, 15:02
iven
Добрый день.
Есть две таблицы с одинаковыми объектами, но с различными координатами данных объектов (точечные, линейные, полигоны)
Подскажите можно через запрос выбрать объекты таблицы t2, у которых координаты отличаются от этих объектов в таблице t1?

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 скачиваний

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

Добавлено: 13 ноя 2025, 12:02
iven
Спасибо. То что нужно