SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Microsoft SQL Server » Найти разность значений при двух условиях
Найти разность значений при двух условиях [сообщение #5287] Tue, 23 July 2024 09:27 Переход к следующему сообщению
l-lisa в настоящее время не в онлайне  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, Загружено 477 раз)

[Обновления: Tue, 23 July 2024 09:51]

Известить модератора

Re: Найти разность значений при двух условиях [сообщение #5295 является ответом на сообщение #5287] Wed, 24 July 2024 14:07 Переход к предыдущему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 360
Зарегистрирован: June 2022
Senior Member
Первым запросом выбирайте в переменную наличие Done. А потом в зависимости от значения переменой выставляйте значения столбца.
Ну или можно через cte
Предыдущая тема: Грамотное и эффективное резервное копирование. Бэкап MS SQL
Следующая тема: смена time zone на MS SQL Server
Переход к форуму:
  


Текущее время: Thu Nov 21 18:53:35 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01009 секунд