я написал ниже запрос:SQL макс (DateTime) и категории фильтра без группы по
SELECT DateTime, configId, rowId
FROM linkedTableDefinition a,
INNER JOIN tableDefinition b,
ON a.Target = b.Id
INNER JOIN ViewWithInfo c,
ON a.Target = c.Id
Это дает следующий вывод:
DateTime configId rowId
12-09-2013 11:00 4 12
12-09-2013 12:00 4 12
12-09-2013 13:00 3 11
12-09-2013 12:00 3 11
12-09-2013 11:00 4 11
Что мне нужно из этого вывода является следующие: в строке rowId и configId мне нужно самое высокое значение из столбца datetime. Поэтому из приведенного выше примера я хочу получить следующий результат:
DateTime configId rowId
12-09-2013 12:00 4 12
12-09-2013 13:00 3 11
12-09-2013 11:00 4 11
Кто-нибудь знает ответ? Я хотел бы избежать GROUP BY, потому что оператор select будет расширен с большим количеством столбцов.
Заранее спасибо
EDIT Текущий запрос:
SELECT testResults.ResultDate, testResults.ConfigurationId, TestResultsTestCaseId
FROM dbo.FactWorkItemLinkHistory workItemLink
INNER JOIN dbo.DimWorkItem workItem
ON workItem.System_Id = workItemLink.TargetWorkItemID
INNER JOIN dbo.TestResultView testResults
ON testResults.TestCaseId = workItemLink.TargetWorkItemID
WHERE
RemovedDate = convert(datetime, '9999-01-01 00:00:00.000')
AND workItemLink.SourceWorkItemID = 7
AND workItem.System_WorkItemType = 'Test Case'
@JustinHui Единственное Я написал основную часть запроса, потому что иначе это будет очень специфично. СвязанныйTableDefinition содержит ссылки parentId. Элемент parentId передается через удаленную процедуру. Определение таблицы содержит информацию самого элемента и предназначено для фильтрации. В представлении содержатся данные в инструкции select. Все эти таблицы взяты из программного продукта, который уже был закуплен – mrtentje