如何在SQL Server 2008中的列值更改之前选择行?

时间:2014-11-26 15:51:58

标签: sql-server-2008

我有一个帮助台项目,我们在其中获得与项目相关的一些问题的门票。我正在显示本周每一天的票证状态,如下图所示。

例如,箭头显示在本周的星期一之前仍然开放的门票总数。

enter image description here

sql查询是这样的,

declare @day datetime
declare @maxdate datetime
set @maxdate = getdate()
set @day = Convert(Varchar(10),DATEADD(week, DATEDIFF(day, 0, getdate())/7, 0),110)
truncate table Tickets_Until_Current_Day
while  @day <= @maxdate
begin
insert into Tickets_Until_Current_Day
select convert(varchar(20),datename(dw,@day)), count(*) Total_Open_Tickets 
FROM OPENROWSET('MSDASQL.1','DSN=SQLitehgq','Select * from tickets') AS a 
where ticket_createdDate < @day + 1
and [status] = 'open'
set @day = @day + 1
end

现在假设星期二有5张门票在周一创建,那么箭头所代表的数字变为25,因为这些门票的状态现在已关闭

但是我希望在整个星期都显示相同的数字,以便我们可以知道星期一结束时有多少张门票真正开放。例如,如果30张门票在周一开放,则在一周结束时,它必须仅显示30张。

任何帮助将不胜感激。

感谢。

0 个答案:

没有答案