一个SQL的问题
给出一个表的数据如下日期 电费
6月1日 60
6月2日 34
6月3日
6月4日
等
条件3日的电费=1日+2日
4日的电费=2日+3日
写sql语句,最终显示出六月所有电费
请教是不是要写一个存储器? ~写不来存储器啊~
不知道这个可不可以,呵呵~
if exists (select * from sysobjects where name = 'table1')
drop table table1
create table table1 (date int , fare int)
insert into table1 values(1 , 60)
insert into table1 values(2 , 34)
declare @a int
declare @b int
declare @x int
declare @y int
set @a = 1
set @b = 2
while (@b<=29)
begin
set @x = (select fare from table1 where date = @a)
set @y = (select fare from table1 where date = @b)
insert into table1 values(@a+2 , @x+@y)
set @a = @a + 1
set @b = @b + 1
end
select * from table1 建议使用一个函数:用来计算某天的电费,然后调用这个函数。
其实这个表设计的有问题,不应该这样设计的。
既然有这个需求,为什么不在设计数据库时多增加一列呢?
页:
[1]