首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 昨日数据减今日数据有关问题

2012-03-20 
SQL 昨日数据减今日数据问题日期数量余量(昨天数量-今天数量)2011-1-220702011-1-110902010-12-30100100

SQL 昨日数据减今日数据问题
日期 数量"余量(昨天数量-今天数量)"
2011-1-22070
2011-1-11090
2010-12-30100100


请问这个表中的余量怎么用SQL写呢
如:2011-1-1的余量等于2010-12-30的数量减去2011-1-1的数量。

[解决办法]

SQL code
select *,  isnull((select top 1 数量 from tb where 日期<t.日期 order by 日期 desc)-数量,数量) as 余量from tb t
[解决办法]
SQL code
--日期 数量 "余量(昨天数量-今天数量)"--2011-1-2 20 70--2011-1-1 10 90--2010-12-30 100 100if OBJECT_ID('tb')  is not nulldrop table tbgocreate table tb(日期 varchar(50) , 数量 int,  余量 int )insert into tb values('2011-1-2' ,20 ,70 ),('2011-1-1' ,10, 90 ),('2010-12-30', 100 ,100) --请问这个表中的余量怎么用SQL写呢--如:2011-1-1的余量等于2010-12-30的数量减去2011-1-1的数量。select *, isnull((select   top 1  数量 from tb where t.日期>日期 )-数量, 数量)as 余量 from tb t  (3 行受影响)日期                                                 数量          余量          余量-------------------------------------------------- ----------- ----------- -----------2011-1-2                                           20          70          -102011-1-1                                           10          90          902010-12-30                                         100         100         100(3 行受影响)
[解决办法]
select *,
isnull((select top 1 余量 from tb where 日期<t.日期 order by 日期 desc)-数量,余量) as 余量
from tb t
[解决办法]
SQL code
if OBJECT_ID('tb')  is not nulldrop table tbgocreate table tb(日期 varchar(50) , 数量 int,  余量 int )insert into tb values('2011-1-2' ,20 ,70 ),('2011-1-1' ,10, 90 ),('2010-12-30', 100 ,100) select *, isnull((select   top 1  余量 from tb where t.日期>日期 order by 日期 desc )-数量, 数量)as 余量 from tb t 日期                                                 数量          余量          余量-------------------------------------------------- ----------- ----------- -----------2011-1-2                                           20          70          702011-1-1                                           10          90          902010-12-30                                         100         100         100(3 行受影响)
[解决办法]
SQL code
if OBJECT_ID('tb')  is not nulldrop table tbgocreate table tb(日期 varchar(50) , 数量 int,  余量 int )insert into tb values('2011-1-2' ,20 ,70 ),('2011-1-1' ,10, 90 ),('2010-12-30', 100 ,100) select *, isnull((select   top 1  余量 from tb where t.日期>日期 order by 日期 desc )-数量, 数量)as 余量 from tb t 日期                                                 数量          余量          余量-------------------------------------------------- ----------- ----------- -----------2011-1-2                                           20          70          702011-1-1                                           10          90          902010-12-30                                         100         100         100(3 行受影响) 

热点排行