【发布时间】:2011-07-13 01:31:58
【问题描述】:
为了简单起见,我有一个项目表,其中包含 ItemID、StartDate 和 EndDate 项目列表。
ItemID StartDate EndDate
1 1/1/2011 1/15/2011
2 1/2/2011 1/14/2011
3 1/5/2011 1/17/2011
...
我的目标是能够将此表连接到具有顺序日期列表的表中, 并说出在特定日期有多少项目是打开的,以及有多少项目是累积打开的。
Date ItemsOpened CumulativeItemsOpen
1/1/2011 1 1
1/2/2011 1 2
...
我可以看到如何使用WHILE 循环来完成此操作,
但这会影响性能。我想知道如何
这可以通过基于集合的方法来完成吗?
【问题讨论】:
-
您能否重新定义 ItemsOpened 和 ItemsOpenedCumulative 的含义?您接受的答案表明 ItemsOpened =“在此日期打开的项目数”和 ItemsOPenedCumulative =“当前打开的项目数”。如果答案不正确,我想删除我的答案
-
好点;我的专栏命名留下了混乱的空间。 “当前打开的项目数”是我正在寻找的。span>
-
您指的是 Cumulative 列还是 ItemsOpened 列?谢谢
-
最后一件事,“ItemsOpened”是指“ItemsOpenedOnThisDay”吗?谢谢!
-
是的,“ItemsOpened”的意思是“ItemsOpenedOnThisDay”。
标签: sql sql-server tsql stored-procedures