Если делаю так (объединение двух запросов), то все работает:
(
select ПродажиПоДням.Номенклатура [Номенклатура $Справочник.Номенклатура], ПродажиПоДням.Склад [Склад $Справочник.Склады],
sum(ПродажиПоДням.Количество) [ВсегоПродажи],
avg(ПродажиПоДням.Количество) [СредниеПродажи],
max(ПродажиПоДням.Количество) [МаксимальныеПродажи],
min(ПродажиПоДням.Количество) [МинимальныеПродажи],
stdev(ПродажиПоДням.Количество) [СтандартноеОтклонение],
0 [ОстатокНаКонецПериода]
from
(select
cast(left(Продажи.date_time_iddoc,8) as datetime) [Дата], $Продажи.Номенклатура [Номенклатура], $Продажи.Склад [Склад],
sum($Продажи.Количество) [Количество]
from $Регистр.ОстаткиТМЦ as Продажи (nolock)
where
Продажи.date_time_iddoc between :НачДата and :КонДата~
and $Продажи.Внутреннее=0
and Продажи.debkred=1
group by cast(left(Продажи.date_time_iddoc,8) as datetime), $Продажи.Номенклатура , $Продажи.Склад
) as ПродажиПоДням
group by ПродажиПоДням.Склад, ПродажиПоДням.Номенклатура
)
union all
(
select Остатки.Номенклатура [Номенклатура $Справочник.Номенклатура], Остатки.Склад [Склад $Справочник.Склады],
0 [ВсегоПродажи],
0 [СредниеПродажи],
0 [МаксимальныеПродажи],
0 [МинимальныеПродажи],
0 [СтандартноеОтклонение],
Остатки.КоличествоОстаток [ОстатокНаКонецПериода]
from
$РегистрОстатки.ОстаткиТМЦ(:КонДата~, , ,(Номенклатура,Склад),(Количество)) as Остатки
)
Если же пытаюсь свернуть все конструкцией
select Номенклатура [Номенклатура $Справочник.Номенклатура], Склад [Склад $Справочник.Склады],
sum(ВсегоПродажи) [ВсегоПродажи],
sum(СредниеПродажи) [СредниеПродажи],
sum(МаксимальныеПродажи) [МаксимальныеПродажи],
sum(МинимальныеПродажи) [МинимальныеПродажи],
sum(СтандартноеОтклонение) [СтандартноеОтклонение],
sum(ОстатокНаКонецПериода) [ОстатокНаКонецПериода]
from
(
.... Тут первый запрос
)
group by Номенклатура, Склад
Ругается на синтаксис.