--自己加个临时表,也可用select生成.
create table tb1(日期 datetime,原材料 int,在产品 int,成品 int,总库存 int)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-01',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-02',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-03',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-04',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-05',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-15',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-16',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-25',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-04-01',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-04-26',400,200,300)
create table tb2(日期 datetime)
insert into tb2 values('2008-01-01')
insert into tb2 values('2008-01-15')
insert into tb2 values('2008-02-01')
insert into tb2 values('2008-02-15')
insert into tb2 values('2008-03-01')
insert into tb2 values('2008-03-15')
insert into tb2 values('2008-04-01')
insert into tb2 values('2008-04-15')
insert into tb2 values('2008-05-01')
insert into tb2 values('2008-05-15')
insert into tb2 values('2008-06-01')
insert into tb2 values('2008-06-15')
insert into tb2 values('2008-07-01')
insert into tb2 values('2008-07-15')
insert into tb2 values('2008-08-01')
insert into tb2 values('2008-08-15')
insert into tb2 values('2008-09-01')
insert into tb2 values('2008-09-15')
insert into tb2 values('2008-10-01')
insert into tb2 values('2008-10-15')
insert into tb2 values('2008-11-01')
insert into tb2 values('2008-11-15')
insert into tb2 values('2008-12-01')
insert into tb2 values('2008-12-15')goselect 日期 , 总库存 = isnull((select sum(原材料+在产品+成品) from tb1 where 日期 <= tb2.日期),0) from tb2drop table tb1,tb2/*
日期 总库存
------------------------------------------------------ -----------
2008-01-01 00:00:00.000 0
2008-01-15 00:00:00.000 0
2008-02-01 00:00:00.000 0
2008-02-15 00:00:00.000 0
2008-03-01 00:00:00.000 900
2008-03-15 00:00:00.000 5400
2008-04-01 00:00:00.000 8100
2008-04-15 00:00:00.000 8100
2008-05-01 00:00:00.000 9000
2008-05-15 00:00:00.000 9000
2008-06-01 00:00:00.000 9000
2008-06-15 00:00:00.000 9000
2008-07-01 00:00:00.000 9000
2008-07-15 00:00:00.000 9000
2008-08-01 00:00:00.000 9000
2008-08-15 00:00:00.000 9000
2008-09-01 00:00:00.000 9000
2008-09-15 00:00:00.000 9000
2008-10-01 00:00:00.000 9000
2008-10-15 00:00:00.000 9000
2008-11-01 00:00:00.000 9000
2008-11-15 00:00:00.000 9000
2008-12-01 00:00:00.000 9000
2008-12-15 00:00:00.000 9000(所影响的行数为 24 行)
*/
create table tb1(日期 datetime,原材料 int,在产品 int,成品 int,总库存 int)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-01',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-02',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-03',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-04',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-05',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-15',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-16',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-25',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-04-01',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-04-26',400,200,300)
create table tb2(日期 datetime)
insert into tb2 values('2008-01-01')
insert into tb2 values('2008-01-15')
insert into tb2 values('2008-02-01')
insert into tb2 values('2008-02-15')
insert into tb2 values('2008-03-01')
insert into tb2 values('2008-03-15')
insert into tb2 values('2008-04-01')
insert into tb2 values('2008-04-15')
insert into tb2 values('2008-05-01')
insert into tb2 values('2008-05-15')
insert into tb2 values('2008-06-01')
insert into tb2 values('2008-06-15')
insert into tb2 values('2008-07-01')
insert into tb2 values('2008-07-15')
insert into tb2 values('2008-08-01')
insert into tb2 values('2008-08-15')
insert into tb2 values('2008-09-01')
insert into tb2 values('2008-09-15')
insert into tb2 values('2008-10-01')
insert into tb2 values('2008-10-15')
insert into tb2 values('2008-11-01')
insert into tb2 values('2008-11-15')
insert into tb2 values('2008-12-01')
insert into tb2 values('2008-12-15')goselect 日期 , 总库存 = isnull((select sum(原材料+在产品+成品) from tb1 where 日期 <= tb2.日期),0) from tb2drop table tb1,tb2/*
日期 总库存
------------------------------------------------------ -----------
2008-01-01 00:00:00.000 0
2008-01-15 00:00:00.000 0
2008-02-01 00:00:00.000 0
2008-02-15 00:00:00.000 0
2008-03-01 00:00:00.000 900
2008-03-15 00:00:00.000 5400
2008-04-01 00:00:00.000 8100
2008-04-15 00:00:00.000 8100
2008-05-01 00:00:00.000 9000
2008-05-15 00:00:00.000 9000
2008-06-01 00:00:00.000 9000
2008-06-15 00:00:00.000 9000
2008-07-01 00:00:00.000 9000
2008-07-15 00:00:00.000 9000
2008-08-01 00:00:00.000 9000
2008-08-15 00:00:00.000 9000
2008-09-01 00:00:00.000 9000
2008-09-15 00:00:00.000 9000
2008-10-01 00:00:00.000 9000
2008-10-15 00:00:00.000 9000
2008-11-01 00:00:00.000 9000
2008-11-15 00:00:00.000 9000
2008-12-01 00:00:00.000 9000
2008-12-15 00:00:00.000 9000(所影响的行数为 24 行)
*/
解决方案 »
- 不能远程连接SQL Server 2005 服务器
- 求一个关于时间的sql
- 这个Sql语句怎样写?
- 求一SQL语句
- 求一条"一次插入多条数据SQL语句",100分求解
- 如何将公司数据库中保存的IP段和纯真数据库里查出的IP段相比较
- 急急急,很简单的,数据库删除元组操作!
- 求嵌入式sql开发的资料
- 查询语句中不等号用哪个更好一些<>和!=
- SQLSERVER 全文目录填充问题:已经对某张数据表的记录做了完全填充,现修改其中的某些记录(只是修改了和检索没有关系的的日期),同时对
- 恳求大虾们详细告诉小弟:SqlServer与ORACLE在语法,性能,维护方面的区别
- 如何写这样的一个关于工资的问题的select语句
create table tb1(日期 datetime,原材料 int,在产品 int,成品 int,总库存 int)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-01',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-02',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-03',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-04',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-05',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-15',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-16',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-03-25',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-04-01',400,200,300)
insert into tb1(日期,原材料,在产品,成品)values('2008-04-26',400,200,300) goselect 日期 , 总库存 = isnull((select sum(原材料+在产品+成品) from tb1 where 日期 <= tb2.日期),0) from
(
select '2008-01-01' 日期 union select '2008-01-15' union select '2008-02-01' union select '2008-02-15'
union select '2008-03-01' union select '2008-03-15' union select '2008-04-01' union select '2008-04-15'
union select '2008-05-01' union select '2008-05-15' union select '2008-06-01' union select '2008-06-15'
union select '2008-07-01' union select '2008-07-15' union select '2008-08-01' union select '2008-08-15'
union select '2008-09-01' union select '2008-09-15' union select '2008-10-01' union select '2008-10-15'
union select '2008-11-01' union select '2008-11-15' union select '2008-12-01' union select '2008-12-15'
) tb2drop table tb1/*
日期 总库存
---------- -----------
2008-01-01 0
2008-01-15 0
2008-02-01 0
2008-02-15 0
2008-03-01 900
2008-03-15 5400
2008-04-01 8100
2008-04-15 8100
2008-05-01 9000
2008-05-15 9000
2008-06-01 9000
2008-06-15 9000
2008-07-01 9000
2008-07-15 9000
2008-08-01 9000
2008-08-15 9000
2008-09-01 9000
2008-09-15 9000
2008-10-01 9000
2008-10-15 9000
2008-11-01 9000
2008-11-15 9000
2008-12-01 9000
2008-12-15 9000(所影响的行数为 24 行)*/