Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
pluperfection
Зарегистрирован: 29.02.2012 Сообщения: 2
|
Добавлено: Ср Фев 29, 2012 10:02 pm Заголовок сообщения: автоматизировать процес |
|
|
Имеется таблица Street, в которой есть колонка "StreetName"- название улицы и колонка"StreetId" - идентификатор. Задача состоит в следующем: с помощью запроса найти все все дублирующиеся StreetId и если названия одинаковые (и StreetId тоже) - скомбинировать улицы. Если StreetId одинаковые, а StreetName - разные, присвоить одной из улиц, новый StreetId. Приходится делать все "вручную", а бывает и по 100 случаев дублей StreetId. Возможно ли сделать все это с помощью какой-нибудь утилиты или набора команд? |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Чт Мар 01, 2012 11:46 am Заголовок сообщения: автоматизировать процес |
|
|
Для начала можно просто упорядочить записи в таблице используя меню Запрос/SQL-запрос или использовать в окне MapBasic
Select * from Street order by StreetID,StreetName into Selection
Можно также сгруппировать записи с одинаковыми StreetID
Select StreetID,StreetName, Count(*) from Street group by StreetID order by StreetID,StreetName into Selection
В этом случае в выборке в последнем столбце Count будет показано количество записей с соответствующим StreetID.
В принципе несложно написать такую процедуру которая выполняла бы требуемую работу. Правда есть неясности:
- что означает "скомбинировать улицы";
- присвоить новый StreetID: что представляет из себя StreetID - число, строка; каким д.б. новый StreetID. |
|
Вернуться к началу |
|
|
|