求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
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
下面是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 ......
需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......