【发布时间】:2012-01-19 08:55:01
【问题描述】:
我有一个看起来像这样的 sql 表
PricelistID periodID periodstart periodend price
1 1 2011/05/01 2011/05/31 50
1 2 2011/06/01 2011/06/30 70
1 3 2011/07/15 2011/07/31 80
2 4 2011/05/01 2011/05/31 100
2 5 2011/06/01 2011/06/30 110
2 6 2011/07/01 2011/07/31 120
如上所示,我为一个周期内的每一天定义了周期和相应的每日价格(包括 periodstart,包括 periodend)。
现在我想查找 2011/05/20(包括)- 2011/05/27(不包括)期间的总价
必须满足两个陈述
a) 如果 periodend 之间有间隔!!和周期开始!!对于搜索周期 2011/05/20 - 2011/05/27,不应返回任何结果。或者在 2011/05/20 - 2011/05/27 期间内的每一天都有不同的表述,应该在一个或多个日期范围内 periodstart - peroidend 在 sql 表中定义
b) 没有循环
结果集应该是这样的
PricelistID total
1 350
2 700
谢谢
【问题讨论】:
标签: tsql date common-table-expression date-range