Форум: "Базы";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];
ВнизЗапрос к 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c