Advertisement

针对SQLServer数据库系统的复杂性高优化和实现

阅读量:

一、问题

如图所示,现有表a与表b中的数据,如何通过SQL语句实现生成表c?其中,表a在UserName相同的情况下,需按照Month的降序对Salary数据进行汇总;表b则记录了每个UserName对应的SumSalary上限值;表c则是从表a中筛选出符合表b设定上限值以下的数据条目。若某条分录的SumSalary数值超过表b中对应的Salary值,则需要将其拆分成若干部分,使得各部分的SumSalary总和恰好等于表b中的Salary数值。

图片说明

]()
表A对应的SQL查询语句如下:

复制代码
 create table b(

    
   UserName nvarchar(200),Salary int
    
 )
    
 create table User_Salary (UserName nvarchar(200), Month nvarchar(20), Salary int)
    
 go
    
 insert into User_Salary (UserName,Month,Salary ) values('AAA','2010/12',1000)
    
 insert into User_Salary (UserName,Month,Salary ) values('AAA','2011/01',2000)

全部评论 (0)

还没有任何评论哟~