Есть 2 регистра. В обоих регистрах есть поле Число. Надо запросом получить Итоговую сумму по полю Число из обоих регистров (одним числом).
Создал Запрос типа:
ВЫБРАТЬ
ЕСТЬNULL(СУММА(Регистр1.Число), 0)
ИЗ
Регистр1
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ЕСТЬNULL(СУММА(Регистр2.Число), 0)
ИЗ
Регистр2
В регистре данные еще отбираются по условию, но это здесь роли не играет.
В итоговой таблице выводится 1 поле, но с 2-мя записями: Сумма по Регистру1 и Сумма по Регистру2. Как бы их объединить в одну запись. Сделать это надо в рамках самого запроса.
Вместо ОБЪЕДИНИТЬ - ОБЪЕДИНИТЬ ВСЕ
проверка на ISNULL вроде лишняя, если объединение выполняется через UNION, а не JOIN
Суммировать нужно не до объединения, а после
(1) Результат этого запроса помещается во временную таблицу. Есть варианты как во временную таблицу передать итоговую сумму одной строкой, то есть чтобы во временной таблице была только одна запись одного поля?
ВЫБРАТЬ
ВложенныйЗапрос.Сумма КАК Сумма
ИЗ
(ВЫБРАТЬ
АвансовыеПлатежиИностранцевПоНДФЛ.Сумма КАК Сумма
ИЗ
РегистрНакопления.АвансовыеПлатежиИностранцевПоНДФЛ КАК АвансовыеПлатежиИностранцевПоНДФЛ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВзаиморасчетыСДепонентами.Сумма
ИЗ
РегистрНакопления.ВзаиморасчетыСДепонентами КАК ВзаиморасчетыСДепонентами) КАК ВложенныйЗапрос
ВЫБРАТЬ
СУММА(ВложенныйЗапрос.Сумма) КАК Сумма
ИЗ
(ВЫБРАТЬ
АвансовыеПлатежиИностранцевПоНДФЛ.Сумма КАК Сумма
ИЗ
РегистрНакопления.АвансовыеПлатежиИностранцевПоНДФЛ КАК АвансовыеПлатежиИностранцевПоНДФЛ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВзаиморасчетыСДепонентами.Сумма
ИЗ
РегистрНакопления.ВзаиморасчетыСДепонентами КАК ВзаиморасчетыСДепонентами) КАК ВложенныйЗапрос