Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
15-1143711509
Некто
2006-03-30 13:38
2006.04.23
Запретить пользователям играть


6-1136894369
DeadMeat
2006-01-10 14:59
2006.04.23
Передача данных по "именованным каналам"... Не идет.


1-1142496507
Леван
2006-03-16 11:08
2006.04.23
Как найти в end, соответствующий begin-у


15-1143677066
San1
2006-03-30 04:04
2006.04.23
декомпиляция


2-1144400767
dera
2006-04-07 13:06
2006.04.23
Чем можна заменить?





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