Главная страница
    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.04 c
1-1097069732
sharkOFF
2004-10-06 17:35
2004.10.24
Как правильно обновлять dbgrid?


1-1097349181
АП
2004-10-09 23:13
2004.10.24
Как работать с CheckBox ами в виде массива


4-1095455747
НовичОк
2004-09-18 01:15
2004.10.24
Иконки на рабочем столе


1-1097131096
Жбан
2004-10-07 10:38
2004.10.24
Механизм работы Application.Terminate


3-1096106628
Сол
2004-09-25 14:03
2004.10.24
DBGrid + Word





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский