I
imacih
Unregistered / Unconfirmed
GUEST, unregistred user!
Table:
ID Amount MaxAmount Month
1 100 999 1
2 400 999 1
3 900 999 1
4 89 99 1
1 300 999 2
2 700 999 2
3 200 999 2
4 50 99 2
1 500 999 3
2 80 999 3
3 700 999 3
4 99 99 3
1。。。。
2。。。。
。。。
这是有关电表的表,其中ID标识不同的电表,Amount为电表上的读数,MaxAmount为电表能显示的最大值,Month为月份(这里只有3个月,但实际情况有几个月是不知道的)。
现在要创建一个月电表用电量的视图,其中用电量为
用电量 = 本月度数 - 上月度数, 如果本月度数比上月度数小的话,说明电表已经转过了能显示的最大值,并且从0再开始计数(虽然本月度数比上月度数大时亦有此可能,但这里不考虑),
此时
用电量 = 本月度数 - 上月度数 + 能显示的最大值 + 1。
因此按上表,得出的视图如下:
ID UsedAmount Month
1 200 2
2 300 2
3 300 2
4 61 2
1 200 3
2 380 3
3 500 3
4 49 3
1。。。
2。。。
。。。
本人想实现该视图时遇到两大难点:
(1)本月度数比上月度数小时与一般情况下的计算用电量方法不同(不知道SQL中怎样分情况考虑);
(2)如果表有N个月份的数据,则视图要有N-1个月份的用电量,所以不知道怎样用Where语句。
在这里望大侠能给小弟指点一下,谢谢!
ID Amount MaxAmount Month
1 100 999 1
2 400 999 1
3 900 999 1
4 89 99 1
1 300 999 2
2 700 999 2
3 200 999 2
4 50 99 2
1 500 999 3
2 80 999 3
3 700 999 3
4 99 99 3
1。。。。
2。。。。
。。。
这是有关电表的表,其中ID标识不同的电表,Amount为电表上的读数,MaxAmount为电表能显示的最大值,Month为月份(这里只有3个月,但实际情况有几个月是不知道的)。
现在要创建一个月电表用电量的视图,其中用电量为
用电量 = 本月度数 - 上月度数, 如果本月度数比上月度数小的话,说明电表已经转过了能显示的最大值,并且从0再开始计数(虽然本月度数比上月度数大时亦有此可能,但这里不考虑),
此时
用电量 = 本月度数 - 上月度数 + 能显示的最大值 + 1。
因此按上表,得出的视图如下:
ID UsedAmount Month
1 200 2
2 300 2
3 300 2
4 61 2
1 200 3
2 380 3
3 500 3
4 49 3
1。。。
2。。。
。。。
本人想实现该视图时遇到两大难点:
(1)本月度数比上月度数小时与一般情况下的计算用电量方法不同(不知道SQL中怎样分情况考虑);
(2)如果表有N个月份的数据,则视图要有N-1个月份的用电量,所以不知道怎样用Where语句。
在这里望大侠能给小弟指点一下,谢谢!