Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Накопление по разным базам.


ViktorZ ©   (2006-02-27 14:30:00) 

Скажем получил я результатом запроса некие поля. Пусть их 2. Далее я обращаюсь к другой базе и все тем же запросом получаю еще 2 поля но с другими значениями. Как мне их сложить?
Пример:
1результат:
Номер   Сумма
1             1000
2            2000
3            3000

2 результат
Номер   Сумма
1             3000
2            4000
3            5000

Ответ:
1  4000
2 6000
3 8000


Sergey13   (2006-02-27 19:10:00) [1]

2[11] ViktorZ ©   (27.02.06 19:01)
>А по поводу временный таблиц: это такие которые я сам пишу а потом с ними работаю?
А после работы удаляю.


ViktorZ   (2006-02-27 19:01:00) [2]

Гы у меня еще идея возникла обсчитать все там 6 скажем. И каждый результат загнать в массив а потом сложить массивы.А по поводу временный таблиц: это такие которые я сам пишу а потом с ними работаю?


Sergey13   (2006-02-27 18:59:00) [3]

2 [9] ViktorZ ©   (27.02.06 18:51)
Это называется - использование временных таблиц. Тоже метод - хотя и не бесспорный. Только зачем тогда в разные таблицы писать? Пиши в одну раз структура одинакова - и складывать ничего не придется.


ViktorZ   (2006-02-27 18:51:00) [4]

Select Номер, Sum(Сумма) from
(запрос1
union all
запрос2)
Group By Номер

Спасибо.Но может просто записать данные полученного запроса в одну таблицу, другого запроса в другую, третьего запроса в третью, а потом сложить не получица?


Neo Trinitron   (2006-02-27 14:50:00) [5]

> Но LocalSQL не поддерживает подзапросы

Мой пример был для Ms Sql, так что звыняйтэ.


Neo Trinitron   (2006-02-27 14:48:00) [6]

Дык получив нужные записи, можно относится к ним как к таблице и отдельным запросом посчитать нужные суммы

select Sum(G.field2)
from (Select field1, field2
       from Table1
       union all
       Select field1, field2
       from Table2) as G
group by field1

если опять чего не напутал...


Sergey13   (2006-02-27 14:47:00) [7]

Идея такова
Select Номер, Sum(Сумма) from
(запрос1
union all
запрос2)
Group By Номер

Но LocalSQL не поддерживает подзапросы. Однако для Парадокса можно сделать QBE файл (ищи в справке) содержащий подзапрос и в головном запросе указать его.

ЗЫ: На практике я этого не делал (т.к. с парадоксом не работаю), так что могу и ошибаться (я много могу 8-).


ViktorZ   (2006-02-27 14:44:00) [8]

UNITED all
Скорее Union ALL, но он вроде мне тогда вернет не сумму полей а просто их выведет.


Neo Trinitron   (2006-02-27 14:44:00) [9]

Сорри, Union


Neo Trinitron   (2006-02-27 14:43:00) [10]

На самом деле запрос должен быть один а не два, а между ними надо написать строку UNITED all, кажется.


ViktorZ   (2006-02-27 14:37:00) [11]

База есть таблички. Обрабатывая их запросом получаем почти тоже самое что  в примере. База парадокс. ДЕЛФИ 7. Блин который раз галочки забываю поставить.


Sergey13   (2006-02-27 14:34:00) [12]

Что в твоем вопросе есть "база"? И какого она типа?


Наверх

Титульная страница Поиск, карта сайта Написать письмо