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

Вниз

Увеличение скорости обработки данных о клиентах.   Найти похожие ветки 

 
Hermit ©   (2002-02-14 12:04) [4]

To Fareder: В одном запросе не получается. Почему? Потому что каждая из упомянутых величин расчитывается по данным из разных таблиц. Вот, например, как получаются среднедневные остатки (СДО) :
1) Выполняем запрос:
select codeokpo, nulltozero(
(select incom+
nulltozero((select sum((credit-debit)*
(:LastDate - dtend + 1))/
(:LastDate - :FirstDate + 1)
from saldo s2
where dtend between :FirstDate and :LastDate and
idacc=s1.idacc and
currency=s1.currency))
from saldo s1
where s1.idacc=A.idacc and
s1.currency=A.currency and
dtend=(select min(dtend)
from saldo
where idacc=s1.idacc and
currency=s1.currency and
dtend>=:FirstDate ))) Amount
from accowner_account A
where A.currency=:UAH and
%SQLWhere
SQLWhere - это очень обширное условие, содержащее перечень счетов (их маски), задаваемых пользователем на клиенте.
2) Записываем результат выполнения этого запроса во временную таблицу Import.
3) Выполняем запрос:
select codeokpo, sum(Amount) SDO
from Import
group by 1

В результате получаем СДО в разрезе каждого клиента.
Если же вспомнить что таких величин 8, то просто непредставляется возможным засунуть эти расчеты в один запрос.



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

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

Наверх




Память: 0.46 MB
Время: 0.01 c
1-43013
Vacheslav
2002-02-28 18:32
2002.03.14
HyperTerminal


3-42933
Jony
2002-02-14 13:21
2002.03.14
Дополнительное редактируемое поле в ADODataSet


3-42958
EAlexander
2002-02-15 17:57
2002.03.14
DOA


4-43228
Max_VM
2002-01-14 17:12
2002.03.14
Про форму-кнопку


14-43166
Alex12
2002-01-28 15:20
2002.03.14
Delphi или C?