易截截图软件、单文件、免安装、纯绿色、仅160KB

求sql select 语句一条。 - MS-SQL Server / 基础类


表1 如下:
年, 姓名, 英语
2008, 小张, 60
2008, 小王, 50
2009, 小王, 80
2009, 小张, 60
2010, 小王, 70
2010, 小张, 90


求一条 sql语句后得出以下查询结果。

年, 姓名, 英语,去年英语,比去年多
2008, 小张, 60,<null> <null> /*这条可以不用管*/  
2008, 小王, 50,<null> <null> /*这里可以不用管*/  
2009, 小王, 80, 50 , 30
2009, 小张, 60, 60 , 0
2010, 小王, 70, 80 , -10  
2010, 小张, 90, 60 , 30
SQL code:
if not object_id('tb') is null
drop table tb
Go
Create table tb([年] Datetime,[姓名] nvarchar(2),[英语] int)
Insert tb
select '2008',N'小张',60 union all
select '2008',N'小王',50 union all
select '2009',N'小王',80 union all
select '2009',N'小张',60 union all
select '2010',N'小王',70 union all
select '2010',N'小张',90
Go
Select [年],
[姓名],
[英语],
比去年多=[英语]-(select top 1 [英语]
from tb
where [姓名]=t.[姓名]and [年]<t.[年] )
from tb t
/*
年 姓名 英语 比去年多
----------------------- ---- ----------- -----------
2008-01-01 00:00:00.000 小张 60 NULL
200


相关问答:

sql - MS-SQL Server / 疑难问题

sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊

随便搞一D版吧,

迅雷第一个就可以用
2000,2005都这样

http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......

MS SQL作业问题 - MS-SQL Server / 应用实例

如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP

参考:http://hi.baidu.com/toiota ......

请教SQLSERVER的两个问题 - MS-SQL Server / 疑难问题

1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......

SQL语句问题 - MS-SQL Server / 疑难问题

请教高手:
 以下是数据库中的三条记录,英文为字段名称  
  id planname TaskBeginTime Status
329 2010年03 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号