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

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

помогите с отчетом [D6, IB6.x]


Doctor ©   (2002-07-16 13:27:00) 

народ, как быть ?
надо сделать в отчете таблицу типа
название товара/сумма/кол-во/за период/до периода/на конец периода
вот в этом периоде и вся загвоздка.
по идее надо сделать выборку где where period и даты, но это получается 3 запроса, а в отчет в DataSet можно вставить тоько 1 ресурс, по 2-м другим отчет не строится!!!!
делать union-тогда будет набор, из которого я не выберу информацию
и left join не катит, т.к. все данные из 1 таблицы
КТО ЗНАЕТ ПОМОГИТЕ, plz !!!!


Alexandr   (2002-07-16 14:30:00) [1]

насколько я припоминаю сейчас две верки создания RxLIb

одна на sourceforge
другая есть на www.demo.ru

только в них есть поддержка Delphi6

Какую из них выбрать - решать тебе...


Johnmen   (2002-07-16 14:26:00) [2]

http://www.delphiplus.org
http://www.delphiplus.spils.lv
http://www.torry.net- сделай поиск


Doctor   (2002-07-16 14:15:00) [3]

может тогда и подскажешь, где свачать rx,
а то я скачал откуда-то и при компиляции выдается ошибка
file not found "Gauges.dcu"
а компоненты действительно рулезные , у меня когда то стояла их старая версия.......


Johnmen   (2002-07-16 14:08:00) [4]

UNION"ами получаешь вертикально.
Есть такой очень неплохой компонент RxMemoryData из библ. RxLib. Это вирт. таблица.


Sergey13   (2002-07-16 14:07:00) [5]

2Doctor (16.07.02 13:27)
Я такие весчи делал через CAST, т.е. типа

select name,cast((select sum from table1 t2 where ... ) as number) as pole_name
from table1 t1
where ...

За синтаксис не ручаюсь, давно я IB активно не юзал. Работало тормозно, и наверное коряво. Но работало. Для отчета пойдет.


Alexandr   (2002-07-16 14:07:00) [6]

поддерживается.


roottim   (2002-07-16 14:05:00) [7]

а в ИБ поддерживается ?
select
field,..,
(select field from...)
field
from mtable
where...

хотя не очень понятен вид отчета... хотябы пример


Doctor   (2002-07-16 14:03:00) [8]

а как через виртуальную таблицу, впервые слышу об этом
(надо в "горизонте")


ПИТОН   (2002-07-16 14:03:00) [9]

Попробуй юнионом объединить эти три таблицы в локальную так

select
optionid,sum(SUMMA) as summa ,count(dogovorid) as now, 0 as befor, 0 as after
from DOGOVOR
where zayavl_data <= :kon
group by optionId
Union all
select
optionid,0,0,count(dogovorid),0 from DOGOVOR
where zayavl_data <= :nach
group by optionId
union all
select
optionid,0,count(dogovorid),0,0 from DOGOVOR
where zayavl_data between :nach and :kon
group by optionId

а потом их просуммировать:
select optionid, sum(sum), sum(now), sum(befor), sum(after)
from localtable
group by optionid


Johnmen   (2002-07-16 13:59:00) [10]

Вариант такой.
Добавляем в каждый запрос поле XXX :
в первом - 1 AS XXX; в 2 - 2 AS XXX; 3 - 3 AS XXX
Объединяем запросы UNION ALL
В отчете делаем группировку по полю XXX

Если же надо в горизонте - то можно через виртуальную таблицу...


Doctor   (2002-07-16 13:50:00) [11]

вот 1 запрос
select
optionid,sum(SUMMA),count(dogovorid) from DOGOVOR
where zayavl_data <= :kon
group by optionId
2
select
optionid,sum(SUMMA),count(dogovorid) from DOGOVOR
where zayavl_data <= :nach
group by optionId
3
select
optionid,sum(SUMMA),count(dogovorid) from DOGOVOR
where zayavl_data between :nach and :kon
group by optionId

как объеденить все 3, если знаешь напиши


Johnmen   (2002-07-16 13:48:00) [12]

Приведи текст запроса и текст матюков...


Doctor   (2002-07-16 13:45:00) [13]

ну смотри, даже если будет название_табл.назв_поля
все равно то данные из 1 таблицы !!!
и будет матюкаться.........


Johnmen   (2002-07-16 13:42:00) [14]

укажи алиасы


Doctor   (2002-07-16 13:39:00) [15]

мне надо вывод 3 одинаковых поля для разных дат (периодов)
из за этого ругается компилятор, что не может раздуплить, где какое поле


Johnmen   (2002-07-16 13:32:00) [16]

Добрый Доктор, это неизлечимо ! :)))) Шучу.......:))))))

Ничто не мешает джойнить таблицу саму с собой. (Если это поможет...)


Наверх

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