Начало » Использование СУБД » Microsoft SQL Server » Нарастающий итог SQL c учетом фильтра по дате 
	
		
		
			| Нарастающий итог SQL c учетом фильтра по дате [сообщение #3206] | 
			Fri, 29 September 2023 15:12   | 
		 
		
			
				
				
				
					
						  
						Мария1212
						 Сообщений: 3 Зарегистрирован: September 2023 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Есть две таблицы: 
 
календарь и база со всеми магазинами ( содержит данные по датам открытия, закрытия магазина , площадь магазина) 
 
Необходимо создать запрос при котором будет рассчитываться суммарная площадь и количество магазинов на выбранную дату , нарастающим итогом. 
Когда 
Чтобы  при выборе 2023 года и недели 36 - выводилась сумма всех площадей до недели 36 включительно, а так же кол-во магазинов. 
 
Я прописываю код, мне считается итог только по указанному фильтру, помогите, пожалуйста. 
 ------------------------------------------------------------ -------------------------------------------- 
SELECT  
 
YEAR(dbo.D_Calendar.START_DATE) AS "Год", 
dbo.D_Calendar.new_week  AS "Неделя", 
vt_warehouse_cube.st_name3 , 
 
 coalesce(sum(vt_warehouse_cube.st_area) over (order by vt_warehouse_cube.open_date rows between unbounded preceding and current row),0)  
 as 'Вход площадь', 
 vt_warehouse_cube.st_area 
 
FROM  
vt_warehouse_cube, 
dbo.D_Calendar 
 
WHERE  
 vt_warehouse_cube.status  = 'Действует' 
AND vt_warehouse_cube.open_date_descr NOT IN ('01.01.3000','01.01.1980') 
AND vt_warehouse_cube.sales_yesterday = 'Продажи были' 
and dbo.D_Calendar.START_DATE =vt_warehouse_cube.open_date  
and YEAR(dbo.D_Calendar.START_DATE) = 2023 
AND dbo.D_Calendar.new_week = 37 
 
order by vt_warehouse_cube.open_date
		
	- 
	
 
	Вложение: 1.PNG
	 
	(Размер: 29.84KB, Загружено 1631 раз)
 - 
	
 
	Вложение: 2.PNG
	 
	(Размер: 10.92KB, Загружено 1635 раз)
 
 
		
		[Обновления: Fri, 29 September 2023 15:18] Известить модератора  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Нарастающий итог SQL c учетом фильтра по дате [сообщение #3213 является ответом на сообщение #3210] | 
			Fri, 29 September 2023 16:52    | 
		 
		
			
				
				
				
					
						  
						Мария1212
						 Сообщений: 3 Зарегистрирован: September 2023 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Добрый день. 
 
Прошу помочь правильно прописать запрос ( я новичок) 
 
У меня есть две таблицы: 
 
календарь ( с датами) и база со всеми магазинами ( содержит данные по датам открытия, закрытия магазина , площадь магазина) 
 
Мне необходимо создать запрос при котором будет рассчитываться суммарная площадь и количество магазинов на выбранную дату , 
То есть допустим я хочу посмотреть суммарное кол-во магазинов и площадей которые были на 38 недели в 2023 и 2022 годах, нарастающим итогом. ( для понимания сеть развивается и каждый год открывается новые магазины, но при этом открытия не каждый месц) 
 
У меня пока только вот что вышло, я прописываю код, мне считается итог только по указанному фильтру, суммируется только год и неделя , указанная в фильтре. 
 ------------------------------------------------------------ -------------------------------------------- 
SELECT 
 
YEAR(dbo.D_Calendar.START_DATE) AS "Год", 
dbo.D_Calendar.new_week AS "Неделя", 
vt_warehouse_cube.st_name3 , 
 
coalesce(sum(vt_warehouse_cube.st_a rea) over (order by vt_warehouse_cube.open_date rows between unbounded preceding and current row),0) 
as 'Вход площадь', 
vt_warehouse_cube.st_area 
 
FROM 
vt_warehouse_cube, 
dbo.D_Calendar 
 
WHERE 
vt_warehouse_cube.status = 'Действует' 
AND vt_warehouse_cube.open_date_descr NOT IN ('01.01.3000','01.01.1980') 
AND vt_warehouse_cube.sales_yesterday = 'Продажи были' 
and dbo.D_Calendar.START_DATE =vt_warehouse_cube.open_date 
and YEAR(dbo.D_Calendar.START_DATE) = 2023 
AND dbo.D_Calendar.new_week = 37
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 03:24:23 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00804 секунд 
 |