У меня следующий запрос, он отлично работает и дает мне 200 строк. Однако я хотел получить дополнительные поля из таблицы ExecutionLogStorage. Когда я добавил ExecutionLogStorage.TimeStart, ExecutionLogStorage.TimeDataRetrieval с группой по результату составляет более 8 000 строк. Как я могу получить самую последнюю дату (максимум даты) и при этом сохранить 200 строк данных.
Select * from (
SELECT ExecutionLogStorage.ReportID, COUNT(*) AS HitCount, Catalog.Name, ExecutionLogStorage.UserName
FROM [SP_RPT_SVC].[dbo].ExecutionLogStorage INNER JOIN
Catalog ON [SP_RPT_SVC].[dbo].ExecutionLogStorage.ReportID = Catalog.ItemID
where Catalog.[Type] = 2
GROUP BY ExecutionLogStorage.ReportID, Catalog.Name, ExecutionLogStorage.UserName) X
LEFT Join
(SELECT [Id]
,[DirName]
,[LeafName]
FROM [SP_BI].[dbo].[AllDocs]) Y
on
Y.ID = X.ReportID
LEFT Join
(SELECT [NTName],[PreferredName]
FROM [SP_ProfileDB].[dbo].[UserProfile_Full]) Z
ON
X.UserName = Z.NTName