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

географическое сравнение для нескольких таблиц

Добавлено: 14 мар 2014, 21:08
mchist
Есть набор таблиц, содержащих различную информацию. Все они имеют различную структуру. Необходимо нарисовав полигон в новой, чистой (new) таблице определить его принадлежность (наложение) на полигоны остальных таблиц.
Начал решать проблему с простого: взял 2 таблицы (tab1 и tab2) и написав sql-запрос
new.Obj Within tab1.Obj and new.Obj Within tab2.Obj вылезла ошибка "Некорректное объединение таблиц. Неправильно задано условие объединения в условном предложении (WHERE)"

Это лишь часть общей задачи, в конечном итоге хочу получить автоматическое создание (возможно через exel) шаблона в котором в установленной форме прописывалось что-то типа "новый объект частично или полностью накладывается на [значение из tab1], [значение из tab2]"

Re: географическое сравнение для нескольких таблиц

Добавлено: 15 мар 2014, 10:30
juffin_h
Таблицы объединяются в порядке подчиненности, заданном в предложении Select.
Т. е. Для Select * From t1, t2, t3 предложение Where будет например Where t1.f = t2.f And t2.f = t3.f.
Но это не то, что Вы хотите получить. Чтобы проверить наложение объекта для нескольких таблиц, придется выполнить запрос для каждой таблицы или объединить таблицы в одну.

А вообще, оптимальный способ решить задачу - написать программу в несколько строк на MapBasic.

Re: географическое сравнение для нескольких таблиц

Добавлено: 15 мар 2014, 14:16
mchist
juffin_h писал(а):А вообще, оптимальный способ решить задачу - написать программу в несколько строк на MapBasic.
К сожалению, я не программист, а как пишется подобная программа?

Re: географическое сравнение для нескольких таблиц

Добавлено: 15 мар 2014, 14:30
thegeo
Некоторые пояснения к построению запросов с объединением таблиц.

Re: географическое сравнение для нескольких таблиц

Добавлено: 15 мар 2014, 15:34
mchist
спасибо, пояснения годные