求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
相关问答:
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP
参考:http://hi.baidu.com/toiota ......
我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间
Id value state dattime
101 32.3 0 ......
下面是XML初始文件内容
XML code:
<upd:Update xmlns:lar="http://schemas.microsoft.com/msus/2002/12/LogicalApplicabilityRules" xmlns:cmd="http://schemas.microsoft.com/msus/2002/12/Up ......