Я надеюсь, что смогу получить некоторую помощь по моему запросу TFS. Я пытаюсь присоединиться к таблице на основе наибольшего значения даты с State = 'Ready for QA'.
Вот что у меня сейчас:
SELECT a.Id, a.ChangedDate, b.Id, b.[Changed Date], b.State, CASE WHEN b.[Changed Date] < a.ChangedDate AND b.State = 'Ready for QA' OR b.Id IS NULL THEN a.ChangedDate ELSE b.[Changed Date] END AS 'Ready'
FROM [Tfs_AdmiCollection].[dbo].[tbl_WorkItemCoreLatest] a
LEFT JOIN (SELECT id, State, MAX(ChangedDate) AS 'Changed Date' FROM [Tfs_AdmiCollection].[dbo].[tbl_WorkItemCoreWere] WHERE State = 'Ready for QA' GROUP BY Id, State) b ON a.Id = b.Id
WHERE a.IterationId = 312
AND a.State = 'Ready for QA'
AND a.WorkItemType = 'Bug'
ORDER BY Ready
SELECT * FROM [Tfs_AdmiCollection].[dbo].[tbl_WorkItemCoreWere]
WHERE Id = 24809
SELECT * FROM [Tfs_AdmiCollection].[dbo].[tbl_WorkItemCoreLatest]
WHERE Id = 24809
В изображении я хочу использовать только ChangedDate из таблицы b в моем случае, когда наибольшее значение даты = 'Готов к QA'. Кто-нибудь может объяснить лучший способ сделать это? Заранее спасибо!