51Testing软件测试论坛

标题: 一个SQL的问题 [打印本页]

作者: 泰德李    时间: 2008-3-21 15:43
标题: 一个SQL的问题
给出一个表的数据如下
日期     电费
6月1日   60
6月2日   34
6月3日
6月4日

条件3日的电费=1日+2日
  4日的电费=2日+3日
写sql语句,最终显示出六月所有电费

请教是不是要写一个存储器?
作者: 软件测试论坛    时间: 2008-3-21 17:00
~写不来存储器啊~
不知道这个可不可以,呵呵~
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
作者: meng0819    时间: 2008-3-24 20:40
建议使用一个函数:用来计算某天的电费,然后调用这个函数。
其实这个表设计的有问题,不应该这样设计的。
既然有这个需求,为什么不在设计数据库时多增加一列呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2