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

Вниз

Запрос к 2-м БД в ADO(Access)   Найти похожие ветки 

 
msguns   (2004-09-28 16:52) [0]

Есть 2 аналогичные по структуре (но не по содержанию) БД аксеса.
Есть 3-я пустая, тоже аналогичная. Надо, сравнивая 1-ю со 2-й, вывести в 3-ю результирующие записи.
Просмотрел весь хэлп по аксесу, но ни намека на гетерогенные запросы (не считая импорта). Получается, что надо тупо открывать 3 курсора (2 на чтение, один на вставку) и перебором по обеим исх.БД вставлять в 3-ю результитрующие строки. SQL и вообще запросы отдыхают. Было бы здорово, если б я ошибался.
Используются компоненты доступа ADO.

Кому-то покажется дилетантским, заранее приношу свои искренние..


 
sniknik ©   (2004-09-28 17:05) [1]

> Просмотрел весь хэлп по аксесу, но ни намека на гетерогенные запросы (не считая импорта).
файл JETSQL40.CHM раздел "предложение IN", select into/insert into
(файл из установки офиса, скорее всего есть на машине с установленным)

> Было бы здорово, если б я ошибался.
здорово! ты ошибаешся.


 
DiamondShark ©   (2004-09-28 17:06) [2]

Во-первых, в Аксесе есть такое понятие, как "присоединённые (или связанные) таблицы".

Во-вторых, есть расширение синтаксиса SQL для доступа к внешним таблицам:

SELECT * FROM [Товары] IN "C:\Program Files\Microsoft Office\Office\Samples\Борей.mdb"


 
msguns   (2004-09-28 17:16) [3]

>sniknik ©   (28.09.04 17:05) [1]
>..файл JETSQL40.CHM..

 Нашел в инсталляхе ;))

>здорово! ты ошибаешся.
 Действительно здОрово !! Всегда б так ошибаться

>DiamondShark ©   (28.09.04 17:06) [2]
>SELECT * FROM [Товары] IN "C:\Program Files\Microsoft Office\Office\Samples\Борей.mdb"

Усе нормально, шеф ! Уже стряпаю секюэльки ;))

Спасибо широковещательное и всего самого..


 
DSKalugin ©   (2004-09-28 17:17) [4]

учи операторы SQL: exists, Any, all, in (вложенные запросы)

CREATE TABLE "detail_number_book1" (
   "cod1"            INTEGER NOT NULL,
   "dn_number1"      VARCHAR(30) NOT NULL,
   "dn_maker1"       SMALLINT NOT NULL,
   "dn_groups1"      SMALLINT,
   "sklad_comment"  VARCHAR(90)
);

CREATE TABLE "detail_number_book2" (
   "cod2"            INTEGER NOT NULL,
   "dn_number2"      VARCHAR(30) NOT NULL,
   "dn_maker2"       SMALLINT NOT NULL,
   "dn_groups2"      SMALLINT,
   "sklad_comment2"  VARCHAR(90)
);

CREATE TABLE "detail_number_book3" (
   "cod3"            INTEGER NOT NULL,
   "dn_number3"      VARCHAR(30) NOT NULL,
   "dn_maker3"       SMALLINT NOT NULL,
   "dn_groups3"      SMALLINT,
   "sklad_comment3"  VARCHAR(90)
);

--------пример-------
вставляю в третью то что есть в первой, но нету во второй
--------
insert into "detail_number_book3" ("cod3", "dn_number3", "dn_maker3", "dn_groups3", "sklad_comment3")
select "cod1", "dn_number1", "dn_maker1", "dn_groups1", "sklad_comment1" from "detail_number_book1
where not exists (select "cod2" from "detail_number_book2
where "detail_number_book2"."cod2"="detail_number_book1"."cod1")


 
msguns   (2004-09-28 17:23) [5]

>DSKalugin ©   (28.09.04 17:17) [4]
>учи операторы SQL: exists, Any, all, in (вложенные запросы)

Спасибо за науку и, особенно, за пример, в котором почему-то нет конструкции "ÍN", в чем, собчтвенно, и заключался ключик ;))



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

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1097060126
Рамиль
2004-10-06 14:55
2004.10.24
Захват ролей котроллеров домена


14-1097034845
Думкин
2004-10-06 07:54
2004.10.24
С днем рождения! 6 октября


14-1097006748
lipskiy
2004-10-06 00:05
2004.10.24
"Система завершает работу" - что еще за фигня такая?


3-1096278468
Zif
2004-09-27 13:47
2004.10.24
как сделать переход по интернет-ссылки из DBEdit при нажитиButton


1-1097551369
VAV
2004-10-12 07:22
2004.10.24
Контейнер для текстов