При этом нужно, чтобы это была не ручная работа (полигонов очень много), т.е. функция "merge" и ручное объединение не подходит.
Рисунок для наглядности: надо чтобы полигоны одного цвета стали одним полигоном.

Пробовал соединить их с помощью выборки по расположению (выбрать все пересекающиеся объекты), но получается, что программа выбирает все полигоны в один огромный, т.е. красные, зелёные, синие и жёлтые становятся одним полигоном, что не верно.
Подсказали, что такую задачу можно решить SQL запросом, так ли это? Сам SQL не учил.
Спасибо за помощь.