HelpF.pro

Нарастающий итог в запросе

Необходимо использовать левое соединение таблицы с самой собой.

Код 1C v 8.х
 ВЫБРАТЬ
	Обороты.Период,
	Обороты.Номенклатура,
	Обороты.Количество
ПОМЕСТИТЬ ВТдвижения
ИЗ
	РегистрНакопления.Обороты КАК Обороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	Движения.Период КАК Период,
	Движения.Номенклатура КАК Номенклатура,
	Движения.Количество,
	СУММА(ТеЖеДвижения.Количество) КАК КоличествоНарастающийИтог
ИЗ
	ВТдвижения КАК Движения
		ЛЕВОЕ СОЕДИНЕНИЕ ВТдвижения КАК ТеЖеДвижения
		ПО Движения.Период >= ТеЖеДвижения.Период  //ищем движения из той же самой таблицы, предшествующие данному, чтобы их просуммировать
			И Движения.Номенклатура = ТеЖеДвижения.Номенклатура //чтобы нарастающий итог по разным номенклатурам не перемешался

СГРУППИРОВАТЬ ПО
	Движения.Период,
	Движения.Номенклатура,
	Движения.Количество

УПОРЯДОЧИТЬ ПО
	Номенклатура,
	Период   

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/955.html