ogregor
@ogregor
арендатор vpn сервера debian

Как составить запрос на представление с выводом столбца по условию (геозапрос)?

Здравствуйте есть две таблицы:

CREATE TABLE supply.storagepoints (
  StorageName varchar(50) NOT NULL,
  Latitude decimal(10, 8) DEFAULT NULL,
  Longitude decimal(10, 8) DEFAULT NULL,
  PRIMARY KEY (StorageName)
)


CREATE TABLE supply.polygoneskwsKomi (
  id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  nkv int(11) DEFAULT NULL,
  lxname varchar(30) DEFAULT NULL,
  lvname varchar(30) DEFAULT NULL,
  points geometry DEFAULT NULL,
  PRIMARY KEY (id)
)


Существует такая конструкция:

SELECT
  `rk`.`lxname` AS `lxname`,
  `rk`.`lvname` AS `lvname`,
  `rk`.`nkv` AS `numberkw`
FROM `polygoneskwsKomi` `rk`
WHERE (CONTAINS(`rk`.`points`, geometryfromtext('Point(51.49111000 60.93244000)')) = 1)


Которая выводит отношение точки к полигону. В данном случае подставлена случайна величина geometryfromtext('Point(51.49111000 60.93244000)')

Можно ли составить запрос в котором в качестве столбца будут показываться эти отношения. В таблицах нет полей которые можно сопоставить как ключи.
В первой таблице есть набор точек, во второй набор полигонов, надо из этого вывести: t1.StorageName,t2.id
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
ogregor
@ogregor Автор вопроса
арендатор vpn сервера debian
Пока тормознул на этом, естественно сервак на 100% подвис, допустима ли вобще такая конструкция.

SELECT storagepoints.StorageName,polygoneskwsKomi.id
  FROM storagepoints,polygoneskwsKomi
  WHERE (CONTAINS(polygoneskwsKomi.points,CONCAT('geometryfromtext(\'Point(',storagepoints.Latitude,' ',storagepoints.Longitude,')\'))')) = 1)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы