Sql Server 怎样一个月一个月的加到当前月,怎么判断是否到了当前月?详细见下:
是这样子,我要统计一下发票本使用的总张数,规则如下:每本发票本有PerPage张,但是并不是每次都用完,有可能只用了几张就换下一个本了,一个月换一本(这里可以确定一月换一本),发票起号(第一个月第一本第一张编号为FrPage),发票最后使用的编号为LastPage,月份2012 01 、2012 02 、2102 03 、2012 04、2012 05.....那么每一个月的使用张数就是:LastPage - (LastPage/PerPage)*PerPage
析:(最后使用编号 - (最后使用编号除以第一个编号取余,即为使用了多少本)*每本多少张)即为该月份这一本使用了的张数,那么把所有月份加起来就可以了,就得出总使用张数了:
Declare @tempPage int
@tempPage = LastPage - (LastPage/PerPage)*PerPage
则为:
select @tempPage1 = LastPage - (LastPage/PerPage)*PerPage
from R
where Month = '01'
select @tempPage2 = LastPage - (LastPage/PerPage)*PerPage
from R
where Month = '02'
select @tempPage3 = LastPage - (LastPage/PerPage)*PerPage
from R
where Month = '03'
@tempPage = @tempPage1+@tempPage2+@tempPage3+...
疑问:我怎么从数据库中存储的Month字段得知它的最后一个值啊?因为只有知道Month最后一个值才能知道加多少啊。。。。
[解决办法]
--1、month最大项可以使用
select year,max(month) from R group by year
--来获取
--2、
DECLARE @per INT
SELECT @per = CASE WHEN age IN ( 20, 21 ) THEN 1
WHEN age IN ( 22, 23 ) THEN 2
WHEN age IN ( 24, 25 ) THEN 3
ELSE '数据错误'
END
FROM R