行的最新价值

时间:2016-01-25 11:52:50

标签: sql sql-server tsql

我创建了一个VIEW来获取工作人员和小时费率的列表。 我无法解决的问题是,当有人提高他们的小时费率时,员工记录会显示两次。

我将在下表中说明我目前的情况:

Employee_ID  Hourly_rate Hours_8_2015 Hours_9_2015 Hours_10_2015 Hours_11_2015 
A001             5.8            20         30             25           30                 
A002             5.8            25         00             00           00        
A002             5.9            00         30             00           00        
A002             6.2            00         00             25           20      
A003             5.9            20         30             30           25        
A004             6.0            20         30             00           00        
A004             6.3            00         00             25           20    

而不是按照上述相应的小时费率工作数小时,我希望看到的是他们最近的每小时费率以及他们每个月工作的小时数。像这样:

Employee_ID  Hourly_rate Hours_8_2015 Hours_9_2015 Hours_10_2015 Hours_11_2015 
A001             5.8            20         30             25           30                 
A002             6.2            25         30             25           20      
A003             5.9            20         30             30           25        
A004             6.3            20         30             25           20 

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

SELECT EMPLOYEE_ID,
       MAX(HOURLY_RATE),
       sum(Hours_8_2015),
       sum(hours_9_2015),
       sum(Hours_10_2015),
       sum(Hours_11_2015)
from YourTable 
group by EMPLOYEE_ID

就此而言,请使用group by。