Начало » Использование СУБД » Microsoft SQL Server » Найти разность значений при двух условиях
Найти разность значений при двух условиях [сообщение #5287] |
Tue, 23 July 2024 09:27 ![Переход к следующему сообщению Переход к следующему сообщению](/theme/default/images/down.png) |
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, Загружено 229 раз)
[Обновления: Tue, 23 July 2024 09:51] Известить модератора
|
|
|
|
Переход к форуму:
Текущее время: Sun Sep 08 02:45:19 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00831 секунд
|