Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Вниз

Подскажите как склеить 2 таблицы   Найти похожие ветки 

 
TTLr ©   (2009-02-09 12:37) [0]

Пишется ПО, для приёма объявлений...
Работать будут в двух точках...
Имеются две базы с одинаковой структурой, которые нужно объединить в одну...
Вопрос, как это сделать???


 
Сергей М. ©   (2009-02-09 12:53) [1]


> Работать будут в двух точках


Между точками Интернет-маршрут предполагается ?
Или коммуникации будет осуществлять курьер с дискеткой ?)


 
TTLr ©   (2009-02-09 12:55) [2]

либо VPN либо курьер с флэшкой...
Скорее всего второй вариант, курьер до офиса, где будет производится объединение и экспорт на вёрстку...


 
Сергей М. ©   (2009-02-09 13:04) [3]

А почему VPN маловероятна ?


 
TTLr ©   (2009-02-09 13:08) [4]

Регион такой. Интернет не везде.
1 таблица типа:

модель опции цвет
  а         б       в
2 таблица типа:

модель опции цвет
  г         д       е

таблица после склейки:

модель опции цвет
  а         б       в
  г         д       е

Как это реализовать???


 
Сергей М. ©   (2009-02-09 13:12) [5]

Прочитать запиь из таблицы-источника, записать прочитанное в таблицу-приемник.
И так для всех записей.


 
Sergey13 ©   (2009-02-09 13:15) [6]

> [0] TTLr ©   (09.02.09 12:37)

А что, для какого-никакого коммерческого продукта (как я понял?) ничего лучше Парадокса не нашли?
вариант 1. Табличка с описанием твоих 2-х точек и ссылки на нее всех нужных местах. В принципе можно и без таблички, а прямо в таблице дефолтно присваивать полю уникальный идентификатор. Но это как то некузяво ИМХО.
выриант 2. Диапазоны непресекающихся значений для ключевых полей.


 
Юрий Зотов ©   (2009-02-09 13:21) [7]

INSERT ... SELECT (если поддерживается)


 
TTLr ©   (2009-02-09 13:22) [8]


> Прочитать запиь из таблицы-источника, записать прочитанное
> в таблицу-приемник.
> И так для всех записей.


Это по-любому надо 2 таблицы создавать?
А их не надо связывать между собой??
И наконец как я понимаю надо организовать цикл???
Короче надо чтобы две таблицы были открыты, читать из одной и вставлять в другую, должно быть 2 цикла????


 
Сергей М. ©   (2009-02-09 13:26) [9]


> надо 2 таблицы создавать?


Что, по-твоему, есть "создать таблицу" ?


> их не надо связывать между собой?


Это уж тебе решать.


> надо организовать цикл?


Опять же тебе решать. Иногда можно и одним запросом, см. [7]


> должно быть 2 цикла?


Почему не 3 ? Или не 30 ? Или не 0 ?
Объясни ход своей мысли..


 
Sergey13 ©   (2009-02-09 13:30) [10]

> [4] TTLr ©   (09.02.09 13:08)
> модель опции цвет

А ключевые поля присутствуют?
Если просто показать все записи из двух таблиц то и "склеивать" ничего не нужно.

Select * from T2
Union All
Select * from T2


 
Sergey13 ©   (2009-02-09 13:31) [11]

Select * from T1
Union All
Select * from T2

конечно


 
Юрий Зотов ©   (2009-02-09 13:32) [12]

Блин... лапти мы... нет у него никаких двух таблиц, а есть одна, только в двух точках - и ее надо синхронизировать. Репликация ему нужна.

> TTLr

Если есть готовые средства репликации, то их и надо использовать. А если их нет, то надо написать 2 дополнительные программки. Одна - пишет таблицу в файл, другая - читает этот файл и добавляет в таблицу отсутствующие в ней записи. Основная задача - совместить первичные ключи.


 
TTLr ©   (2009-02-09 13:41) [13]

Так, ясно, можно и одним.
еще один вопрос: как задать ключевые поля???
и как сделать так, чтобы при добавлении строки, ее удалении, и добавлении еще одной нумерация строк была не:
1
2
4

а:
1
2
3
а так например было 10 строк с порядковыми номерами от 1 до 10
удалил 2-3 а потом добавил еще несколько
нумерация продолжается не с числа оставшихся строк а с общего количества которое было в начале.
создать таблицу можно в аксесе и экспортировать в парадокс. я так делаю.


 
TTLr ©   (2009-02-09 13:42) [14]


> Блин... лапти мы... нет у него никаких двух таблиц, а есть
> одна, только в двух точках - и ее надо синхронизировать.
>  Репликация ему нужна.
>
> > TTLr
>
> Если есть готовые средства репликации, то их и надо использовать.
>  А если их нет, то надо написать 2 дополнительные программки.
>  Одна - пишет таблицу в файл, другая - читает этот файл
> и добавляет в таблицу отсутствующие в ней записи. Основная
> задача - совместить первичные ключи.

и как это сделать????
как совместить эти ключи??


 
sniknik ©   (2009-02-09 13:46) [15]

> Основная задача - совместить первичные ключи.
это вообще не задача... разве что организационная - т.к. по любому нужно разделять подразделения, что отдельно, что в общей базе, а раз так то должен присутствовать идентификатор подразделения (номер), включаем его в ключ и все дела.


 
Sergey13 ©   (2009-02-09 13:46) [16]

> [14] TTLr ©   (09.02.09 13:42)
> как совместить эти ключи??

А ты ответы читаешь?

ЗЫ: ИМХО пипец как заказчики налетели. 8-)


 
Юрий Зотов ©   (2009-02-09 13:47) [17]

> TTLr ©   (09.02.09 13:42) [14]

> как совместить эти ключи??

Обычно это делается головой. Например, ключи записей, сгенеренных в точке 1  - целые положительные, а в точке 2 - целые отрицательные. Совместимость и уникальность обеспечены. Другой вариант - ключом служит строковое поле, в которое входит некий идентификатор точки. Снова совместимость и уникальность обеспечены. И т.д. Короче, надо просто подумать.


 
TTLr ©   (2009-02-09 13:48) [18]

Да читаю я все. Просто не зажигается в голове та мысля, которая сейчас так нужна..


 
Sergey13 ©   (2009-02-09 13:49) [19]

> [18] TTLr ©   (09.02.09 13:48)

Так может материал в принципе не горюч? 8-)


 
Юрий Зотов ©   (2009-02-09 13:50) [20]

> TTLr ©   (09.02.09 13:48) [18]

Она в [15]. Надо добавить поле "ID подразделения" и включить его в ПК.


 
Anatoly Podgoretsky ©   (2009-02-09 14:25) [21]

> Юрий Зотов  (09.02.2009 13:32:12)  [12]

> Основная задача - совместить первичные ключи.

Нафига при наличии всего одной таблицы ничего совмещать не надо.
Если действительно только одна таблица, то это задача для школьников.


 
Anatoly Podgoretsky ©   (2009-02-09 14:26) [22]

> TTLr  (09.02.2009 13:41:13)  [13]

Ты должен сделать такое поле, в котором ты будешь писать все что посчитаешь нужным, в том числе и 1, 2, 3


 
clickmaker ©   (2009-02-09 16:25) [23]

GUID можно использовать как уникальный ключ



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.047 c
3-1216374027
123456711
2008-07-18 13:40
2009.03.29
получить Insert Id после запроса INSERT...


2-1233838460
Allizar
2009-02-05 15:54
2009.03.29
1C и Delphi 7


1-1207898982
Альф
2008-04-11 11:29
2009.03.29
Как обрубить зависший ОСХ ?


15-1232542679
Marser
2009-01-21 15:57
2009.03.29
Как насчёт KMP?


4-1207237164
Stan
2008-04-03 19:39
2009.03.29
Mapped файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский