20.11.2007 11:09
Mtirt
 
Не мое, а Кайта... Ссылку искать лень, если честно.
Это табличка с одним полем - dt.
В нём даты идут подряд за период, за который ты формируешь отчет.
Я обычно раз в год в январе добавляю строчек на следующий год.
В принципе можно использовать любую таблицу, в которой ты точно знаешь, что представлены все даты...
20.11.2007 12:00
rost
 
Mirt, Проверял отчетами СМ2000 и своим.
Все сходиться. Огромное спасибо за подсказку.

Код:
select article,
sum (prih) as p,
sum (rash) as r,
sum (k_ost) as ko
 from
(
select
article,

decode (no, 1, quantity, 0) as prih,
decode (no, 2, quantity, 0) as rash,
decode (no, 3, quantity, 0) as k_ost

from (


select 1 as no,
        article,
       quantity
from smspec where doctype in ('WI', 'IW', 'CR')

union all

select 2 as no,
        article,
       quantity
from smspec where doctype ('WO', 'IW', 'CS')

union all

select 3 as no, article,
       sum(q) as quantity
       from (
                select article, quantity as q from smspec where doctype ('WI', 'IW', 'CR')
                   union all
                select article, -quantity as q from smspec where doctype ('WO', 'IW', 'CS')
            )z  group by article

) a

) b group by article
22.11.2007 14:48
deucel
 
Цитата:
Mtirt В нём даты идут подряд за период, за который ты формируешь отчет.
В принципе можно использовать любую таблицу, в которой ты точно знаешь, что представлены все даты...
Еще вариант для 9ки.

Код:
WITH datelist AS
	(SELECT TO_DATE ('01012007', 'DDMMYYYY') fromdate, TO_DATE ('31122007', 'DDMMYYYY') todate
		FROM DUAL)
	 SELECT DAY
		FROM (SELECT fromdate + LEVEL - 1 DAY
			FROM datelist
		CONNECT BY LEVEL <= todate - fromdate + 1)
Часовой пояс GMT +3, время: 21:41.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.