2014-01-04 4 views
0

Я использую mysql для подсчета количества точечных объектов (магазинов) в функции многоугольника (постсекунды).обновить таблицу mysql с результатами из пространственного запроса

В запросе на выбор у меня все работает нормально, но я хочу обновить table postsec сгенерированными результатами. Запрос, который у меня есть, приведен ниже:

select pc_sec, count(*) as count from shops 
join postsec on st_within(shops.SHAPE,postsec.SHAPE) 
where shops.shop_cat > 0 and shop_cat < 10 group by pc_sec 

Я пробовал несколько методов для этого, например. update postsec устанавливает new_column = ([select query]), но не может найти правильный путь.

ответ

1

Что-то, как это должно работать

update postsec 
inner join 
(
    select pc_sec, count(*) as pseccount 
    from shops 
    join postsec on st_within(shops.SHAPE,postsec.SHAPE) 
    where shops.shop_cat between 1 and 9 
    group by pc_sec 
) x on x.pc_sec = postsec.id 
set count_column = x.pseccount 
+0

Это здорово, спасибо очень много. –

Смежные вопросы