Начало » Использование СУБД » Microsoft SQL Server » Найти разность значений при двух условиях 
	
		
		
			| Найти разность значений при двух условиях [сообщение #5287] | 
			Tue, 23 July 2024 09:27   | 
		 
		
			
				
				
				
					
						  
						l-lisa
						 Сообщений: 4 Зарегистрирован: July 2022 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Добрый день! 
У меня есть таблица, в которую нужно добавить новый столбец, состоящий из разности минимального значения из столбца created_status и максимального значения из столбца created_status, в том случае если в столбце newstring хоть в отдной строке для каждого отдельного issue_key, стоит значение Done, в противном случае, если нет значения Done, то в новый столбец проставляется разность между текущим временем и минимальням из created_status.  
Пишу запрос не для sql server, но синтаксис можно скорректировать...у меня выходит проставляется значение правильное только напротив строки которая содержит Done, а мне нужно чтобы напротив каждой строки относящейся к отдельно взятому issue_key проставлялась эта разница, можно ли это реализовать? 
SELECT * FROM snow WHERE snow = 'Yes'  and oldstring is not null)
SELECT   
    id, issue_key,  
   CASE   
        WHEN newstring = 'Done' THEN date_diff('second',MIN(created_status) OVER (PARTITION BY issue_key),MAX(created_status) OVER (PARTITION BY issue_key)) 
        ELSE date_diff('second',MIN(current_timestamp) OVER (PARTITION BY issue_key), MIN(created_status) OVER (PARTITION BY issue_key)) END AS time  
FROM filtered_snow < 
Результат у меня для одного id/isssue_key как на картинке вложенной, то есть только одно значение проставилось правильно, напротив той строки гже стоит Done, а нужно чтобы напротив каждой строки оно стояло.Также у меня не срабатывает условие else((
		
	- 
	
 
	Вложение: res.JPG
	 
	(Размер: 124.70KB, Загружено 1903 раза)
 
 
		
		[Обновления: Tue, 23 July 2024 09:51] Известить модератора  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 10:46:58 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00879 секунд 
 |