Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Накопление по разным базам.   Найти похожие ветки 

 
ViktorZ ©   (2006-02-27 14:30) [0]

Скажем получил я результатом запроса некие поля. Пусть их 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 14:34) [1]

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


 
ViktorZ ©   (2006-02-27 14:37) [2]

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


 
Neo Trinitron ©   (2006-02-27 14:43) [3]

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


 
ViktorZ ©   (2006-02-27 14:44) [4]

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


 
Neo Trinitron ©   (2006-02-27 14:44) [5]

Сорри, Union


 
Sergey13 ©   (2006-02-27 14:47) [6]

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

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

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


 
Neo Trinitron ©   (2006-02-27 14:48) [7]

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

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

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


 
Neo Trinitron ©   (2006-02-27 14:50) [8]

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

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


 
ViktorZ ©   (2006-02-27 18:51) [9]

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

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


 
Sergey13 ©   (2006-02-27 18:59) [10]

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


 
ViktorZ ©   (2006-02-27 19:01) [11]

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


 
Sergey13 ©   (2006-02-27 19:10) [12]

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



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
2-1144236974
dima_kds
2006-04-05 15:36
2006.04.23
Создание приложения Excel


3-1141206268
RomanH
2006-03-01 12:44
2006.04.23
Структура БД торговой организации


1-1142544581
Roll
2006-03-17 00:29
2006.04.23
Как сохранить данные...


1-1142347928
Ilg
2006-03-14 17:52
2006.04.23
Выключение вкладок PageControl


4-1138866916
tse
2006-02-02 10:55
2006.04.23
Запуск scktsrvr.exe в режиме сервиса от имени пользователя