lightning13
Зарегистрирован: 20.12.2009 Сообщения: 1
|
Добавлено: Вс Дек 20, 2009 8:01 pm Заголовок сообщения: Хитрая группировка |
|
|
Здравствуйте,
есть таблица с двумя колонками - SmallInt r и Object. Пусть она называется T1. При добавлении ее в качестве слоя (Add Map Layer T1) все объекты корректно отрисовываются.
Все объекты в колонке Object - квадраты фиксированного размера. Таблица может содержать несколько строк в которых квадраты имеют одинаковые координаты, т.е. объекты несокльких строк могут полностью накладываться друг на друга. При этом различаются они только цветом. Если добавлять таблицу на карту "в лоб" (как написано выше) то результирующий цвет для какого-либо из квадратов, по сути, определяется только порядком строк. Чтобы этого избежать нужна вторая колонка - SmallInt r. В случае совпадения объектов нужно рисовать только один из них - с максимальным значением в колонке r.
Пробовал так:
SELECT max(r) "m", centroidx(obj) "x", centroidy(obj) "y", obj "o" FROM T1 INTO TMP GROUP BY 2, 3
Затем создаю таблицу T2 идентичную первой по структуре и..
INSERT INTO T2(r, obj) SELECT m, o FROM TMP
И пытаюсь уже вторую таблицу добавить на карту:
Add Map Layer T2
Однако при выполнении Insert MapInfo ругается и говорит, что не может вычислить значение колонки obj.
Других способов не придумывается. Что делать? |
|