어제 Thomas은 exactly the query I wanted을 제공하여 많은 도움을 받았습니다. 그리고 지금은 그것의 변종이 필요하고, 누군가가 나를 도울 수 있기를 희망합니다.SQL에서이 쿼리의 최대 값 하나만 출력하는 방법은 무엇입니까?
나는 출력 한 행, 즉 최대 값으로 원하는 -하지만 다음과 같은 쿼리의 알고리즘을 구축 할 수 있습니다
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
입니다 - 하나의 열 - 한 행 - LIMIT가 아니므로
예 ** 결과 ** 사람이 필요 ** 할당 된 테스터 **, 맞습니까? –
그게 맞아 ... :-) –