在我朋友的幫助下,我可以找到這個複雜的查詢。如何修復此查詢以使其適用於ASP.NET應用程序?
DECLARE @LastSevenDays DATETIME, @Last30Days DATETIME
SELECT @LastSevenDays = DATEADD(dd, -7, DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)),
@Last30Days = DATEADD(dd, -30, DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0))
SELECT [D].DivisionName
, COUNT(DISTINCT CASE WHEN DateTimeComplete >= @LastSevenDays THEN UQ.Username ELSE NULL END) AS ParticipantsLast7Days
, COUNT(DISTINCT CASE WHEN DateTimeComplete >= @LastSevenDays THEN UQ.QuizID ELSE NULL END) AS QuizzesLast7Days
, COUNT(DISTINCT UQ.Username) AS ParticipantsLast30Days
, COUNT(DISTINCT UQ.QuizID) AS QuizzesLast30Days
, COUNT(DISTINCT EM.UserName) AS TotalParticipantsInDivisions
, COUNT(DISTINCT EM.UserName) - COUNT(DISTINCT UQ.Username) [ParticipantsInDivisionsWithoutQuiz]
FROM employee EM
INNER JOIN Divisions D
ON D.SapCode = EM.DivisionCode
LEFT OUTER JOIN [UserQuiz] AS UQ
ON UQ.UserName = EM.UserName
AND DateTimeComplete >= @Last30Days
GROUP BY [D].[DivisionName]
這個查詢會告訴我下面的:在上週和上個月的測驗參與者
- 總數
- 測驗上週採取上個月
- 總的總數每個部門的員工人數
- 未接受任何測驗的每個部門的員工總數
該查詢工作正常,但現在在網站中放置一個表並嘗試使用包含此查詢的SqlDataSource配置它以從數據庫中檢索信息後,它要求我確定兩個變量的參數:@LastSevenDays和@ Last30Days,我不知道我應該怎麼做。請幫忙嗎?
我知道也許我的問題看起來很簡單,但我嘗試了很多,失敗了。請幫我