![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Накопление по разным базам.
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]Что в твоем вопросе есть "база"? И какого она типа?