Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.29;
Скачать: CL | DM;

Вниз

Подскажите как склеить 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.02 c
10-1153500862
XProger
2006-07-21 20:54
2009.03.29
Вызов _Release


15-1232531192
Сергей М.
2009-01-21 12:46
2009.03.29
MikroTik RouterOS версий >= 3.x


6-1201094893
Михаил (Питер)
2008-01-23 16:28
2009.03.29
Поиск в локальной сети


2-1233341544
CodeMaster
2009-01-30 21:52
2009.03.29
Свойство Parent


2-1233301130
Pavel
2009-01-30 10:38
2009.03.29
Работ с компонентом SQLQuery