Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.12.2014, 14:38
131516 131516 вне форума
Прохожий
 
Регистрация: 26.12.2014
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Как выполнить запросы к двум разным базам с одинаковыми таблицами, Firebird

Есть две разные базы(соединение в одной программе, на разные IP) через компоненты FIB(FIBDatabase) реализация на Delphi. Нужно сравнить две таблицы по полям одинаковые по структуре. Пытаюсь сделать что-то вроде этого;
ПРИМЕР
select x1.fld from table x1 where not EXISTS(select x2.fld from table x2 where x2.fld=x1.fld) - выбрать записи которые не совпадают.

но с pfibdataset не могу указать вторую таблицу в другой базе, названия таблиц совпадают.
и не могу продолжить
DM.efSDS.SelectSQL.Clear;
DM.efSDS.SelectSQL.Add('SELECT X1.fld FROM X1 WHERE....');

На форуме видел и это ПРИМЕР: SELECT a.fld1, a.fld2 FROM db1.table1 a, db2.table1 b WHERE a.id=b.id, и это не мойму как сделать.

Ясно все когда две таблицы в одной базе. Как мне в коде запроса сослатся на другую таблицу в другой базе( подключенные в разных FIBDatabase,fibdataset ) с таким же именем, не могу понять как практически реализовать это. И вывести как угодно , допустим DBGrid. Может кто подскажет как на Delphi это реализовать, примеры
Ответить с цитированием
  #2  
Старый 26.12.2014, 15:14
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Если погуглить, то можно наткнуться на обсуждение. Есть парочка советов.
Ответить с цитированием
  #3  
Старый 26.12.2014, 17:22
131516 131516 вне форума
Прохожий
 
Регистрация: 26.12.2014
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от icWasya
Если погуглить, то можно наткнуться на обсуждение. Есть парочка советов.

Ооо... это ближе к проблеме, но ответы на решения
Ответить с цитированием
  #4  
Старый 27.12.2014, 14:50
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну посколько герогенки не наблюдается, то решение в лоб:
Делаем временную БД, куда копируем таблицы из первой и второй бд. Далее уже в контексте временной бд сравниваем две таблицы без проблем.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter