Копировать данные из Таб1 в Таб2

MapInfo, MapBasic
Ответить
Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

Копировать данные из Таб1 в Таб2

Сообщение agentbond007 » 02 май 2012, 08:22

Здравствуйте!
Есть 2 таблицы Таб1(источник данных) и Таб2(потребитель, пустая таблица).
Общие между ними поля (значения, ключи): RowID, Type, ID, атрибутивка идентичная
В зависимости от Type(цифра) требуется перекинуть данные из таб1 в таб2.
Как это сделать?
Пока удалось связать эти две таблицы по типам, а как перекинуть данные, ведь там нужен RowID для Update?
У связанной таблицы по два поля с одним названием Type, ID... :shock:

Аватара пользователя
pearlovka
Интересующийся
Сообщения: 30
Зарегистрирован: 17 апр 2012, 13:15
Репутация: 0
Откуда: Сыктывкар
Контактная информация:

Re: Копировать данные из Таб1 в Таб2

Сообщение pearlovka » 02 май 2012, 12:27

Не совсем понятен ваш вопрос, исходных данных не хватает,как получилась Таб2 изначально, почему она пустая? Поэтому может не по теме мой ответ, но я вижу такой порядок действий.
Сделайте запрос из таблицы Таб1 по полю Type (через SQL запрос например) получится таблица Query1 (нумерация может быть другой, если уже создавались запросы) и сохраните этот запрос, как таблица Таб2. Структуру таблицы Таб2 можно изменить из меню Таблица -Изменить -Перестроить.
Или вы пишете на МапБейсике и там что-то не получается при обновлении таблиц?

Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

Re: Копировать данные из Таб1 в Таб2

Сообщение agentbond007 » 02 май 2012, 12:57

Пишу программу конвертер из одной таблицы в другую, использую MapInfo + Delphi.
Имеется таблица источник Таб1 - геообъекты + атрибутика(50 полей) из неё нужно получить Таб2 с другой атрибутикой(другие названия полей и значения, 60 полей).
Первая задача скопировать геообъекты, вторая заполнить атрибутивку Таб2 из Таб1.
С первой справился а со второй задачей застрял.

Аватара пользователя
pearlovka
Интересующийся
Сообщения: 30
Зарегистрирован: 17 апр 2012, 13:15
Репутация: 0
Откуда: Сыктывкар
Контактная информация:

Re: Копировать данные из Таб1 в Таб2

Сообщение pearlovka » 02 май 2012, 14:00

А зачем 2 одинаково названных поля в одной таблице?
Вопрос не совсем по мапинфо ;) Больше по Делфи в связке с мапинфо, файлы табовские?
Я когда писала на мапбейсике корректировку аттрибутики, то вытаскивала данные во временную таблицу, обзывая поля во временной таблице как мне надо, и поля апдейтила по уникальным полям.

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Копировать данные из Таб1 в Таб2

Сообщение Boris » 02 май 2012, 23:56

А что мешает открыть окно мапбайсика, что есть в мапинфо? Мапинфо же честная недалекая программулька - что делает, то и пишет в команды (ну вернее наоборот) в 95% процентах случаев.
И если хоть раз видели - она копирует поля по номеру колонки, употребляя для этого специальные названия колонок COL1, COL2 и т.п. и плевать ей на то, что отображает она поля с одним именем или они сошлись в нем в результате сопоставления таблиц.
PS
Для того, что в больших СУБД называется оператором JOIN, в мапинфо есть упрощенный вариант в виде совмещения через условие в Where. В 95% случае получаемый запрос обновляем по первой таблице - все поля 1-ой таблицы можно обновить стандартным оператором Update примененным к такому запросу.

Аватара пользователя
agentbond007
Активный участник
Сообщения: 100
Зарегистрирован: 14 дек 2010, 15:14
Репутация: 0

Re: Копировать данные из Таб1 в Таб2

Сообщение agentbond007 » 03 май 2012, 10:55

Спасибо всем!
Ещё раз прочитал свой вопрос, и нашел ответ. Атрибутивки у меня разные поэтому проблема решена.
Связываю 2 таблицы и перекидываю данные в выборке, апдейтю по RowID выборки. :lol:

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя