Как мне написать запрос, в котором я хочу получить последнее значение?
Например, у меня есть таблица с задачами, 1-4 для каждого родительского рабочего процесса.Затем у меня есть заполненный столбец с 1 или 0.
Я хотел бы вернуть 1 значение, Задача 1 или 2 или 3 или 4, в зависимости от того, завершена ли задача.
Я попробовал встроенный оператор CASE, но он всегда возвращает значение 4.
Должен быть лучший способ.
SELECT
Estimate.EstimateID, Estimate.EstimateNo,
CASE
WHEN TransWorkFlow.OwnerID = Estimate.EstimateID
THEN
CASE
WHEN TransWorkFlowDetails.TaskNo = 1 AND TransWorkFlowDetails.Completed = 0
THEN 1
ELSE
CASE
WHEN TransWorkFlowDetails.TaskNo = 2 AND TransWorkFlowDetails.Completed = 0
THEN 2
ELSE
CASE
WHEN TransWorkFlowDetails.TaskNo = 3 AND TransWorkFlowDetails.Completed = 0
THEN 3
ELSE
CASE
WHEN TransWorkFlowDetails.TaskNo = 4 AND TransWorkFlowDetails.Completed = 0
THEN 4
ELSE 4
END
END
END
END
END AS TaskCompleted
FROM
TransWorkFlow
INNER JOIN
TransWorkFlowDetails ON TransWorkFlow.TransWorkFlowID = TransWorkFlowDetails.TransWorkFlowID
INNER JOIN
Estimate ON TransWorkFlow.OwnerID = Estimate.EstimateID