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

MapInfo и SQL

Добавлено: 02 мар 2012, 23:25
IVTarasenko
Привет.
проблема в следующем: есть два слоя, один - точечные обьекты, другой-полигональные.
нужно найти все полигональные обьекты, которые пересекают минимум два точечные.
как это сделать? спасибо.

Re: MapInfo и SQL

Добавлено: 03 мар 2012, 09:04
dab
Если есть первичный ключ (поле с уникальным значением для каждой строки) в обеих таблицах (в данном коде id), тогда можно парой запросов получить результат:

Код: Выделить всё

Select tbl_polygone.id, Count(*) from tbl_point, tbl_polygone where tbl_point.Obj Within tbl_polygone.Obj group by 1 into qTemp
Select * from tbl_polygone, qTemp where tbl_polygone.id=qTemp.id and qTemp.COL2>1 into Selection
Если первичного ключа нет - можно добавить :)

Код: Выделить всё

Alter Table "tbl_point" ( add id Integer ) Interactive
update tbl_point set id=rowid
Alter Table "tbl_polygone" ( add id Integer ) Interactive
update tbl_polygone set id=rowid

Re: MapInfo и SQL

Добавлено: 04 мар 2012, 23:20
IVTarasenko
спасибо большое, попробуем :)

Re: MapInfo и SQL

Добавлено: 05 мар 2012, 05:14
SergS
добавьте только еще и третий запрос - непосредственно отбирающий нужные полигоны, все вместе получится вот так:

Код: Выделить всё

Select tbl_polygone.id, Count(*) from tbl_point, tbl_polygone where tbl_point.Obj Within tbl_polygone.Obj group by 1 into qTemp1 noselect
Select * from qTemp1 where COL2>1 into qTemp2 noselect
Select * from tbl_polygone where id in (select col1 from qTemp2)

dab, если ничего не изменилось, то вот этот запрос не сработает (могу ошибиться):
Select * from tbl_polygone, qTemp where tbl_polygone.id=qTemp.id and qTemp.COL2>1 into Selection
мапинфошный sql не допускает (не допускал?) временные таблицы в подобного вида запросах

Re: MapInfo и SQL

Добавлено: 06 мар 2012, 11:03
dab
SergS писал(а): ... dab, если ничего не изменилось, то вот этот запрос не сработает (могу ошибиться):
Select * from tbl_polygone, qTemp where tbl_polygone.id=qTemp.id and qTemp.COL2>1 into Selection
мапинфошный sql не допускает (не допускал?) временные таблицы в подобного вида запросах
MapInfo 10.5 - работает. Прежде чем писать сообщение, сам проверял. :)

Re: MapInfo и SQL

Добавлено: 06 мар 2012, 11:25
SergS
ну, значит, я отстал...