2012-05-17 53 views
0

我在這個過程中使用asp代碼,即傳統的ASP和SQL Server 2000,以將數據庫中的記錄顯示到表中。 我有兩個鏈接稱爲明智和月明智。 當用戶點擊這個鏈接時,他會看到每週或每月的數據,假設數據庫有一個日期字段存儲所有日期,插入記錄時。經典ASP - 顯示錶中的數據庫記錄每週或每月明智

到目前爲止,我能夠顯示該表中特定用戶的記錄。我如何顯示他/她的記錄WEEK或MONTH明智。

這是我使用

<% 
    sql="select SUM(grand_total) as total from order_details where emp_number='"&request.QueryString("no")&"'" 
    rs.open sql,con,1,2 
    do while not rs.eof 

     rs.movenext 
    loop 
    rs.close 
%> 

這個特殊的查詢顯示特定結果的記錄的查詢......

+0

查看[如何按MSSQL逐周分組](http://www.sqlhacks.com/Dates/Group-By-Week),並且您應該可以修改每月分組的內容。 – Filburt

+0

類似於......和[日期欄] BETWEEN'2012-04-01'和'2012-04-30''? –

+0

@SalmanA不,不要使用BETWEEN ... http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common。 aspx&http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/16/bad-habits-to-kick-mishandling-date-range-queries.aspx –

回答

2
select 
emp_number, 
datepart(year, order_date), 
datepart(month, order_date), 
datepart(wk, order_date), 
sum(grand_total) 
from order_details 
group by 
emp_number, 
datepart(year, order_date), 
datepart(month, order_date), 
datepart(wk, order_date) 
order by 1, 2, 3, 4 

而且我會考慮使用Prepared Statements防止SQL注入。

+0

年代碼工作正常..但米混淆關於值我的WEEK列返回值是** 20 **是否意味着20周...和**訂單1,2,3,4 **什麼它的意思是......你可以解釋....謝謝你的回覆... –

+0

@Mckenzi - 'ORDER BY 1,2,3,4',這只是對'SELECT'列表中第一到第四列的引用。至於'WK'(周),那是今年的第20個星期。 – Lumi

相關問題