Вчера Томас мне очень помог, предоставив именно тот запрос, который я хотел .И теперь мне нужен его вариант, и я надеюсь, что кто-то может мне помочь.
Я хочу, чтобы он выводил только одну строку, а именно максимальное значение, но он должен основываться на алгоритме в следующем запросе:
WITH Calendar AS (SELECT CAST(@StartDate AS datetime) AS Date
UNION ALL
SELECT DATEADD(d, 1, Date) AS Expr1
FROM Calendar AS Calendar_1
WHERE (DATEADD(d, 1, Date) < @EndDate))
SELECT C.Date, C2.Country, COALESCE (SUM(R.[Amount of people per day needed]), 0) AS [Allocated testers]
FROM Calendar AS C CROSS JOIN
Country AS C2 LEFT OUTER JOIN
Requests AS R ON C.Date BETWEEN R.[Start date] AND R.[End date] AND R.CountryID = C2.CountryID
WHERE (C2.Country = @Country)
GROUP BY C.Date, C2.Country OPTION (MAXRECURSION 0)
Вывод сверху будет таким:
Date Country Allocated testers
06/01/2010 Chile 3
06/02/2010 Chile 4
06/03/2010 Chile 0
06/04/2010 Chile 0
06/05/2010 Chile 19
, но сейчас мне нужно
Allocated testers
19
, то есть - только один столбец - одинстрока - само максимальное значение ... (для (через параметры (которые уже существуют)) выбранного периода дат и страны)