| Начало » Использование СУБД » 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, Загружено 1868 раз)
 [Обновления: Tue, 23 July 2024 09:51] Известить модератора |  
	|  |  |  
	|  | 
 
 
 Текущее время: Fri Oct 31 22:40:28 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00698 секунд |