Начало » Использование СУБД » Microsoft SQL Server » Время  (Сложить время услуг) 
	
		
		
			| Время  [сообщение #3790] | 
			Tue, 21 November 2023 10:20   | 
		 
		
			
				
				
				
					
						  
						krioxi
						 Сообщений: 16 Зарегистрирован: October 2023 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Добрый день! 
запрос таков  
SELECT  
	Name, 
	CONVERT(VARCHAR( , ServDate, 04) AS ServDate, 
	CONVERT(VARCHAR(5), ServDate, 08) AS ServDate1, 
	Length as minut, 
   	(CASE WHEN CONVERT(VARCHAR( , ServDate, 04)=CONVERT(VARCHAR( , ServDate, 04)  and PriceAdditional=7 then  Quantity  
	WHEN ServicesSet.PriceAdditional is NULL  THEN Quantity 
	 END) as usl, 
	 format (dateadd(minute, (CASE WHEN CONVERT(VARCHAR( , ServDate, 04)=CONVERT(VARCHAR( , ServDate, 04)  and PriceAdditional=7 then  Length*Quantity else sum(Quantity*Length) end ), '1900'),'HH:mm:ss')as t1 
FROM 
	0,1,2 
WHERE 
		IsServed = '1' and 
			Served_Services = ServicesSet.Id 
		and  Served_Employee = EmployeeSet.Id 
		and VisitsSet.id=Served_Visits 
		and ClientsSet.id=Visits_Clients 
		  
		and ServDate between  '18.10.2023'and 
		'01.11.2023' 
		and ServicesSet.Type in   ('СБР','СПедР','ССР','СПедР','СПсихР', 'СКР','АФКР','ПО')   
			and EmployeeSet.id= '2283' 
		group by   ServDate,EmployeeSet.Name,Post,Quantity,Length,Description,P riceAdditional 
показывает сколько услуг , какая  продолжительность  и специалист 
нужно выявить общую сумму времени (сколько времени потратил сотрудник на оказание услуги) 
он мне считает долько до 24:00 а нужно наприм.36:45)
		
		
		[Обновления: Tue, 21 November 2023 11:05] Известить модератора  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Время  [сообщение #3813 является ответом на сообщение #3810] | 
			Wed, 22 November 2023 10:32    | 
		 
		
			
				
				
				
					
						  
						krioxi
						 Сообщений: 16 Зарегистрирован: October 2023 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		если сделать так: 
SELECT CAST(t1/ 60 AS VARCHAR( ) + ':' + FORMAT(t1 % 60, 'D2') AS [Time] 
  from  
(select 
	EmployeeSet.Name AS Name, 
	Post, 
	CONVERT(VARCHAR( , ServDate, 04) AS ServDate, 
	CONVERT(VARCHAR(5), ServDate, 08) AS ServDate1, 
	Length as minut, 
    Description, 
	 (CASE WHEN CONVERT(VARCHAR( , ServDate, 04)=CONVERT(VARCHAR( , ServDate, 04)  and PriceAdditional=7 then  Quantity 
WHEN ServicesSet.PriceAdditional is NULL  THEN Quantity 
END) as usl, 
(CASE WHEN  PriceAdditional=7 then  Length else Length *Quantity end )as t1 
   FROM 
	0,1,2,3 
	 
 
	WHERE 
		IsServed = '1' and 
			Served_Services = ServicesSet.Id 
		and  Served_Employee = EmployeeSet.Id 
		and VisitsSet.id=Served_Visits 
		and ClientsSet.id=Visits_Clients 
		  
		and ServDate between '16.10.2023'and '01.11.2023' 
		  
		and ServicesSet.Type in  ('СБР','СПедР','ССР','СПедР','СПсихР', 'СКР','АФКР','ПО')   
		and EmployeeSet.id =2283 
	group by EmployeeSet.Name ,Quantity, 
	Post, 
	 ServDate, 
	PriceAdditional, 
	Length, 
    Description			 
) as mmm 
выдает не одну общую сумму а NULL значения 
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 03:34:26 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01838 секунд 
 |