Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2009, 22:04   #1
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
Сообщение Объединение БД

Здравствуйте, славные умы!!!

Вот такой к Вам вопрос:

Имеется прога, которая работает с БД и сохраняет в нее данные. И есть прога для просмотра архива.

Перва прога ежедневно в 23:59 создает копию БД, оставляя в ней только данные за этот день.

Теперь нужно, чтобы в конце месяца все ежедневные таблицы объединялись в одну (в ней остануться только данные за этот месяц).

Проблема в том, что я не знаю как объединить эти таблицы в одну.

Подскажите эту функцию копирования или это sql-запрос?
Georgios вне форума Ответить с цитированием
Старый 25.01.2009, 17:31   #2
crc83
Пользователь
 
Аватар для crc83
 
Регистрация: 24.01.2009
Сообщений: 38
По умолчанию

Выдержка из справки Access:
(это работало и при использовании ADO в Delphi)
Инструкция SELECT...INTO
Создание запроса на создание таблицы

Синтаксис
SELECT поле1[, поле2[, ...]] INTO новая_таблица [IN внешняя_база_данных]
FROM источник

Инструкция SELECT...INTO включает с себя следующие компоненты.

Аргумент Описание
  • поле1, поле2 Имена полей, которые будут скопированы в новую таблицу.
  • новая_таблица Имя создаваемой таблицы. Имя должно удовлетворять стандартным соглашениям об именах. Если задаваемое имя новой_таблицы уже существует, возникнет сообщение о перехваченной ошибке.
  • внешняя_база_данных Путь к внешней базе данных. Описание пути см. в разделе, посвященном предложению IN.
  • источник Имя существующей таблицы, из которой отбираются записи. Может представлять собой одну или несколько таблиц, а также запрос.
Замечания
Запросы на создание таблиц можно использовать для архивации записей, для создания резервных копий таблиц, а также для создания копий для экспорта в другую базу данных или использования для составления отчетов, отображающих данные за определенный период времени. Например, отчет «Ежемесячные продажи по регионам» можно составлять, выполняя каждый месяц один и тот же запрос на создание таблиц.

Примечания

Может понадобиться определить первичный ключ новой таблицы. При создании таблицы ее поля наследуют типы данных и размеры полей базовых таблиц запроса. Другие параметры полей не переносятся.
Чтобы добавить данные в таблицу, используйте инструкцию INSERT INTO вместо запроса на добавление.
Чтобы определить какие записи будут отобраны до выполнения запроса на создание таблиц, сначала проверьте результат инструкции SELECT, с такими же условиями отбора.
crc83 вне форума Ответить с цитированием
Старый 25.01.2009, 18:11   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
я не знаю как объединить эти таблицы в одну
Цитата:
SELECT поле1[, поле2[, ...]] INTO новая_таблица [IN внешняя_база_данных]
Боже, как сложно...
Table1(меняем таблицы в цикле)+Table2(результирующая)+Batch Move=> и все...
Занимает 3-5 секунд времени при объеме данных порядка полгига...
mihali4 вне форума Ответить с цитированием
Старый 25.01.2009, 20:18   #4
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

Спасибо огромное!!!
Georgios вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объединение матриц eHappy Паскаль, Turbo Pascal, PascalABC.NET 2 18.12.2008 00:36
Объединение ячеек Katherina_Koval Microsoft Office Excel 3 29.07.2008 06:53
Паскаль. Объединение строк. gotex Помощь студентам 6 08.05.2008 22:47
Объединение списков. life_burns Microsoft Office Excel 5 05.04.2008 16:13
Объединение заказов asale Microsoft Office Excel 6 22.10.2007 19:05