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

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

Формирование отчета в Делфи [D6, Oracle]


bin ©   (2002-09-17 17:19:00) 

Господа, может кто сможет помочь в таком деле:
Имеется такая таблица PRRASH:
PRDATA DATE,
NAKL VARCHAR2(20),
KODCEH NUMBER(3),
KODMLOM NUMBER(8),
PRIH NUMBER(10,3),
RASH NUMBER(10,3),
KODPRIZ NUMBER(2),
KODUCH NUMBER(6)
из нее нужно сделать такой отчет:

KODUCH=1 KODUCH=2 KODUCH=3 KODUCH=4 KODUCH=5

KODMLOM=1 Prih - Rash ..... ... ... ... Сумма
KODMLOM=2 ... ... ... Сумма
KODMLOM=3 Сумма
. .
. .
. .
KODMLOM=N Сумма

Итого Сумма Сумма Сумма Сумма Сумма Сумма

Пояснение: Заголовки столбцов представляют собой значения поля KODUCH их всего 5, Строки начинаются со значения поля KODMLOM, должны быть сгруппированы по этим значениям, а в ячейках разница между полями PRIH и RASH для данных значений KODUCH и KODMLOM, причем в таблице может быть несколько строк с одинаковым значениями KODUCH и KODMLOM , следовательно нада ссумировать!
Имеется Делфи6 и QuickReport 3.0.9, база данных Оракл
Компонент QRexpr.Expression:=If(KodUch=1,Sum(Query1.Prih),0) не работает - выдает 0


Bin   (2002-09-18 08:18:00) [1]

Благодарю, все заработало!!!
Клевая функция Decode!!!


Sparky   (2002-09-18 05:49:00) [2]

Следующий запрос выдать те все кроме итогов
select kodmlom,
sum(decode(KODUCH,1,PRIH-RASH ,0)) as KODUCH1,
sum(decode(KODUCH,2,PRIH-RASH ,0)) as KODUCH2,
sum(decode(KODUCH,3,PRIH-RASH ,0)) as KODUCH3
.....
from PRRASH
where
твои условия (по дате и тд и тп)
group by KODMLOM


Johnmen   (2002-09-17 17:31:00) [3]

Проблема известная...
Как вариант решения - использовать RxDataMemory, который и заполнять динамически...Позволяет просто решить массу затруднительных моментов (хотя, м.б., и не всегда красиво...)


Наверх

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