Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обединие таблиц [D6, Paradox]


Step3 ©   (2002-12-27 14:10:00) 

Как обэдинить две абсолютно одинаковые по структуре таблицы. А если точнее то: На двух разных компютерах (необединённые в локальную сеть) имеются две одинаковые таблицы. Заполняются независимо одна од другой. Приходит время и нужно данные с одной таблицы присоединить к данным другой таблицы. Записи в таблице неповторяються. В Microsoft Access это называется рэпликация базы данних. А как зделать это в Delphi с таблицами Paradox.
Если можна то обясните как начинающему програмисту.


passm   (2002-12-28 09:42:00) [1]

TTCustomDelphiMaster © (27.12.02 18:18)> IMHO на Paradox"е никак. Поскольку нужно добавить строки типа
27.12.2002 00:03 null null null

тут видется рекурсивный запрос...


TTCustomDelphiMaster   (2002-12-27 18:18:00) [2]

Нужно дополнить пропущенные строки в таблице 1 из таблицы 2. Ключевые поля дата и время.


passm   (2002-12-27 18:13:00) [3]

TTCustomDelphiMaster © (27.12.02 18:07)> Не понятно. Не нашел закономерности для получения таблицы (1 & 2 -> 3).


TTCustomDelphiMaster   (2002-12-27 18:07:00) [4]

Я не автор, но у меня подобая проблема. Есть 2 таблицы
27.12.2002 00:00 23,7 456,6 47,3
27.12.2002 00:02 23,6 456,2 47,7
27.12.2002 00:05 23,8 456,8 47,3
27.12.2002 00:06 23,5 456,2 47,6
...
27.12.2002 23:59 23,7 456,2 47,5

и

27.12.2002 00:00 23,3 456,4 47,2
27.12.2002 00:01 23,7 456,4 47,7
27.12.2002 00:02 23,2 456,9 47,3
27.12.2002 00:05 23,7 456,3 47,8
27.12.2002 00:06 23,2 456,7 47,2
...
27.12.2002 23:59 23,9 456,1 47,9

Они содержат приблизительно одинаковые данные, но некоторые строчки могут быть пропущены как в одной из таблиц так и в обоих.

Как получить с помощью запроса получить такую таблицу
27.12.2002 00:00 23,7 456,6 47,3
27.12.2002 00:01 23,7 456,4 47,7
27.12.2002 00:02 null null null
27.12.2002 00:03 null null null
27.12.2002 00:04 23,6 456,2 47,7
27.12.2002 00:05 23,8 456,8 47,3
27.12.2002 00:06 23,5 456,2 47,6
...
27.12.2002 23:59 23,7 456,2 47,5

PS:
К модератору: не удаляйте это сообщение, т.к. тема похожая и может быть решена в контексте данной ветки. Просто неохото плодить одинаковые ветки.


Max Zyuzin   (2002-12-27 17:26:00) [5]

Осталось услышать пожелания автора :)))


passm   (2002-12-27 17:25:00) [6]

Max Zyuzin © (27.12.02 17:21)> Зависит от пожеланий.


Johnmen   (2002-12-27 17:23:00) [7]

>Delirium^.Tremens © (27.12.02 17:18)

Если так трактовать, то конечно...


Max Zyuzin   (2002-12-27 17:21:00) [8]

>passm © (27.12.02 17:12)
Думаю поможет... но не понятно, что потом с этим безобразием делать :)) нужно ли назад копировать в T2 результат общий или нет...


Delirium^.Tremens   (2002-12-27 17:18:00) [9]


> Johnmen © (27.12.02 17:05)
> Ну почему же ? В рамках поставленной проблемы ?

Почему в один оператор не уложишься? Да потому что вложенный селект - тоже оператор :-) А их там может быть не мало.


passm   (2002-12-27 17:12:00) [10]

Max Zyuzin © (27.12.02 16:51)> А если:
INSERT INTO TABLE2(FIELD1, FIELD2...)
SELECT T1.FIELD1, T1.FIELD2...
FROM TABLE1 AS T1
WHERE (T1.FIELD1, T1.FIELD2...) NOT IN (SELECT T2.FIELD1, T2.FIELD2
FROM TABLE2 AS T2)
Хотя, признаюсь, нет уверенности, что WHERE... на Local SQL пройдет.


Johnmen   (2002-12-27 17:05:00) [11]

>Delirium^.Tremens © (27.12.02 16:59)
>Max Zyuzin © (27.12.02 16:51)

Ну почему же ? В рамках поставленной проблемы ?


Delirium^.Tremens   (2002-12-27 16:59:00) [12]

Объединить, присоединить... Где-то тут была уже битва по этим терминам :-)
А на самом то деле репликацию нужно делать?
IMHO, на этот вопрос трудно будет ответить при имеющихся исходных данных. В один оператор не уложишься, точно.


Max Zyuzin   (2002-12-27 16:51:00) [13]

>Johnmen © (27.12.02 14:18)
Думаю не совсем так... это если объединение проходит 1 раз, а если периодически, то будет куча дублирующейся информации...

>Step3 © (27.12.02 14:10)
Как часто надо синхронизацию и есть ли ключевые поля в таблицах??


Johnmen   (2002-12-27 14:18:00) [14]

INSERT INTO T1 SELECT FROM T2
Впрочем об этом здесь говорят по нескольку раз на дню...:)


Наверх

Титульная страница Поиск, карта сайта Написать письмо