Лог запросов из Профайлера:
if exists(select * from tempdb..sysobjects where id = object_id('tempdb..#T448EFC1A5D2445558400C5070C0858B7'))
drop table #T448EFC1A5D2445558400C5070C0858B7
-----------------------------------------------------------------------------
select
ra22042_vt.sp22044 as Заказ,
j22042_vt.date_time_iddoc as ПозицияДокумента, j22042_vt.iddocdef as ВидДокумента,
sum(case when ra22042_vt.debkred = 0 then ra22042_vt.sp22045 else 0 end) as РезервТовараПриход,
sum(case when ra22042_vt.debkred = 1 then ra22042_vt.sp22045 else 0 end) as РезервТовараРасход
from ra22042 as ra22042_vt (nolock)
inner join _1sjourn as j22042_vt (nolock) on j22042_vt.iddoc = ra22042_vt.iddoc
where j22042_vt.date_time_iddoc > '20050805' and j22042_vt.date_time_iddoc < '200609049CK4K0 XX76 0'
and j22042_vt.rf22042 = 0x1
and ((ra22042_vt.sp22044 IN (' XX6W ')))
group by
ra22042_vt.sp22044,
j22042_vt.iddocdef, j22042_vt.date_time_iddoc
having
sum(case when ra22042_vt.debkred = 0 then ra22042_vt.sp22045 else 0 end) <> 0 or
sum(case when ra22042_vt.debkred = 1 then ra22042_vt.sp22045 else 0 end) <> 0
order by
Заказ,
ПозицияДокумента desc
-----------------------------------------------------------------------------
select
rg22042_vt.sp22044 as Заказ,
sum(rg22042_vt.sp22045) as РезервТовараОстаток
from rg22042 as rg22042_vt (nolock)
where rg22042_vt.period={d '2006-09-01'}
and ((rg22042_vt.sp22044 IN (' XX6W ')))
group by
rg22042_vt.sp22044
having
sum(rg22042_vt.sp22045) <> 0
order by
Заказ
-----------------------------------------------------------------------------
create table #T6D7F82B980EC40D8821EDEAE02C6B2A9 (
Заказ char(9),
ПозицияДокумента char(23), ВидДокумента int,
РезервТовараНачальныйОстаток numeric(38,5),
РезервТовараПриход numeric(38,5),
РезервТовараРасход numeric(38,5),
РезервТовараКонечныйОстаток numeric(38,5)
)
-----------------------------------------------------------------------------
SET FMTONLY ON select * from #T6D7F82B980EC40D8821EDEAE02C6B2A9 where 1=2 SET FMTONLY OFF
-----------------------------------------------------------------------------
declare @P1 int
set @P1=203
exec sp_prepare @P1 output, N'@P1 char(9),@P2 char(23),@P3 int,@P4 numeric(38,5),@P5 numeric(38,5),@P6 numeric(38,5),@P7 numeric(38,5)', N'insert #T6D7F82B980EC40D8821EDEAE02C6B2A9 values (@P1,@P2,@P3,@P4,@P5,@P6,@P7)', 1
select @P1
-----------------------------------------------------------------------------
exec sp_execute 203, ' XX6W ', '20060903AJSESG XX72 ', 22049, 1.00000, 0.00000, 1.00000, 0.00000
-----------------------------------------------------------------------------
exec sp_execute 203, ' XX6W ', '2006082993ZWVK XX71 ', 22048, 0.00000, 1.00000, 0.00000, 1.00000
-----------------------------------------------------------------------------
exec sp_unprepare 203
-----------------------------------------------------------------------------
SELECT
Выборка.РезервТовараНачальныйОстаток as РезервТовараНачальныйОстаток,
Выборка.РезервТовараПриход as РезервТовараПриход,
Выборка.РезервТовараРасход as РезервТовараРасход,
Выборка.РезервТовараКонечныйОстаток as РезервТовараКонечныйОстаток,
Выборка.Заказ as [Заказ $Документ.ЗАКАЗ],
Выборка.УровеньИтогов as УровеньИтогов
FROM
(SELECT
SUM(Рег.РезервТовараНачальныйОстаток) as РезервТовараНачальныйОстаток,
SUM(Рег.РезервТовараПриход) as РезервТовараПриход,
SUM(Рег.РезервТовараРасход) as РезервТовараРасход,
SUM(Рег.РезервТовараКонечныйОстаток) as РезервТовараКонечныйОстаток,
Рег.Заказ as Заказ,
1 - (GROUPING(Рег.Заказ)) as УровеньИтогов
FROM
#T6D7F82B980EC40D8821EDEAE02C6B2A9 as Рег
WHERE
Рег.ВидДокумента <> 0
GROUP BY
Рег.Заказ
WITH ROLLUP) as Выборка
ORDER BY
Выборка.Заказ ASC,
Выборка.УровеньИтогов ASC