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

Выборка в mapinfo

Добавлено: 20 авг 2015, 08:31
maikl
Здравствуйте! Понимаю вопрос глупый, но нужна помощь. Вообщем есть у меня слой лесничества, где к примеру есть квартала с 1 по 158, в каждом из этих кварталов есть выдела, например с 1 по 90, вопрос такой: как из нужного мне квартала, выбрать нужные мне выдела, через sql запрос? Или сразу из всех имеющихся кварталов, выбрать нужные мне квартала, в каждом из которых выбрать еще и необходимые выдела?

Re: Выборка в mapinfo

Добавлено: 20 авг 2015, 09:43
ginpetr
Я бы через команду обновить колонку записал бы в выделы номера кварталов (в выделы нужно сначала добавить целочисленную колонку). Получилась бы таблица выделов с колонками НОМЕР_КВАРТАЛА (НК) и НОМЕР_ВЫДЕЛА (НВ).
Запросить выделы можно было бы так:
select * from ВЫДЕЛЫ where str$(НК)+"_"+str$(НВ)=any("4_57","5_29","5_37","6_13") into selection

команда выберет выдел 57 из квартала 4, 29 из квартала 5, и т.д.

Re: Выборка в mapinfo

Добавлено: 20 авг 2015, 09:46
gamm
in вместо =any будет кошернее ...

Re: Выборка в mapinfo

Добавлено: 30 авг 2015, 04:26
Boris
Видимо 1-ый отвечавший, считал мысли, автора вопроса, раз угадал строение его данных. Но вот на мой вкус, при таком небольшом количестве выборки, оптимальным является использование OR. При большом количестве - вынесение данных для выборки в отдельный файл (для простоты TAB или TXT) и использование мапинфошного аналога JOIN.
Опять же на мой вкус, не стоит слеплять числа в тест, равно как использовать IN или ANY без крайней нужды, по сравнению с JOIN они на десятичный порядок или два выполняются дольше. А уж если поля индексированы, то быстродействие будет на три порядка быстрее.