我有一個存儲文檔信息(DocID,名稱,類型,所有者等)的數據庫表。然後我有另一個表格來存儲文檔被下載的時間(DocID,DownloadTime等)。我正在設置一個頁面,用於記錄不同種類的文檔(策略,表單,出版物等)在特定的月份和年份中獲得的點擊次數(我爲每個用戶選擇了一個下拉列表)。例如,我也希望能夠將月份或年份留空,因此用戶可以在一年內獲得所有月份的點擊次數。下面的查詢在用戶選擇月份和年份時正常工作。但是,如果將月份或年份留空,則gridview不會顯示分組的文檔類型。例如,如果我想看看命中爲2010年1月,我得到:不按日期分組?
Policies : 210 hits
Forms: 98 hits
等
但是,當用戶選擇所有月份到2010年,用戶將獲得:
Policies: 210 hits
Policies: 87 hits
Policies: 23 hits
Policies: 87 hits
Forms
等
所以我得到了不同行的所有月份,但沒有分組爲一種。查詢錯在哪裏?
SELECT COUNT(Counter.DocID) AS Counter,
Doc.DocType,
MONTH(Counter.DownloadDate) AS MonthDownload,
YEAR(Counter.DownloadDate) AS YearDownload
FROM Counter
INNER JOIN Doc ON Counter.DocID = Doc.DocID
GROUP BY Doc.DocType,
MONTH(Counter.DownloadDate),
YEAR(Counter.DownloadDate)
HAVING (MONTH(Counter.DownloadDate) = @Month1 OR @Month1 IS NULL) AND
(YEAR(Counter.DownloadDate) = @Year1 OR @Year1 IS NULL)
4秒打我! – 2010-06-22 14:53:11
不應該花你的時間編輯這個問題:P – 2010-06-22 14:53:52
嗯,你比我能說的更快,謝謝你。 – netNewbi3 2010-06-22 15:04:10