您的位置:首页 > 职场人生

sql面试题一道

2008-11-10 11:18 295 查看
已经知道原表

year salary

------------------ ---------------------

2000 1000

2001 2000

2002 3000

2003 4000

显示查询结果

year salary

------------------ ---------------------

2000 1000

2001 3000

2002 6000

2003 10000

即salary为以前年的工资的和

答案:

 1 use northwind

 2 go

 3 

 4 select * from orders

 5 

 6 select * from orders where orderDate between '1996-07-04' and '1996-07-20'

 7 

 8 select * from orders where  dateadd(day,500, orderDate)<getdate() 

 9 /*创建表和数据库*/

 create database test

 go

 use test

 go

 create table Employee(

     sId int identity (1,1) primary key,

     [Year] datetime ,

     Salary decimal

 )

 go

 insert Employee values('2001',1000)

 insert Employee values('2002',2000)

 insert Employee values('2003',3000)

 insert Employee values('2004',5000)

 /*查询语句*/

 select * from Employee

 /*答案*/

 select a.[year],sum(b.[salary]) from Employee as a,Employee as b where b.[year]<=a.[year] group by a.[year]

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: