Итак, у меня есть отдельный запрос, и я могу сузить свой список до того, что мне нужно, но бывают случаи, когда в последней таблице может быть 3 правильных выбора, и я хочу только последнее вхождение.
Текущий запрос:
SELECT DISTCINT
D.Filename, S.Name AS State, W.Name AS 'Workflow Name', U.Username AS 'Name',
CONVERT(VARCHAR, TH.Date, 101) AS [Entered State],
DATEDIFF(dd, TH.Date, GETUTCDATE()) AS [Days In State]
FROM
Status AS S
INNER JOIN
Documents AS D ON D.CurrentStatusID = S.StatusID
INNER JOIN
Workflows AS W ON W.WorkflowID = S.WorkflowID
INNER JOIN
TransitionHistory AS TH ON D.DocumentID = TH.DocumentID
AND D.LatestRevisionNo - 1 = TH.RevNr
INNER JOIN
Users AS U ON U.UserID = TH.UserID
WHERE
d.Filename NOT LIKE '%test%'
AND d.filename NOT LIKE '%^%'
AND S.Name IN ('Initiated', 'Design Review', 'Change Pending Approval',
'Under Editing', 'Waiting for Approval', 'Under Change',
'ECO Design Review', 'Minor Change no Revision',)
AND W.Name IN ('Production')
ORDER BY
Filename
В качестве примера, если я выберу определенный файл (см. Изображение), вы можете увидеть результаты:

Вы можете видеть в последней таблице, что результаты дают 3 строки, которые соответствуют критериям, я пытаюсь найти простой способ, чтобы он соответствовал всем моим критериям, а затем выводил только самый высокий TransitionNr или самую последнюю дату.
Я не человек SQL, я собрал это из поисков Google - но я просто не могу найти последний кусок.
Спасибо за вашу помощь.