Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1097547225
Marat
2004-10-12 06:13
2004.10.24
TStringGrid


4-1095419377
Квэнди
2004-09-17 15:09
2004.10.24
Трей


3-1096347324
Uran
2004-09-28 08:55
2004.10.24
Как отобразить через DataSet фаил базы данных, сохраненный в txt


14-1096142345
Verg
2004-09-25 23:59
2004.10.24
И все-таки инверсия


14-1096530538
vecna
2004-09-30 11:48
2004.10.24
Друзья vs деньги или "Курсы личностного роста"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский