合并2行并添加匹配引用

时间:2015-09-11 14:41:59

标签: sql-server sql-server-2008

我需要合并两行具有相同人员代码但发布时间不同的行,然后添加小时数。

现在我得到以下结果:

STAFFCODE EXPTOTAL
------------------  
CON       6  
CON       8  
AEA       4  
ECC       3  
ECC       2 

我想看到的是:

STAFFCODE EXPTOTAL
------------------  
CON       14   
AEA       4  
ECC       5  

我的结果是逗号形式,因为它们需要以这种方式更新 StaffCode,Exptotal所以我的结果应如下所示:

CON, 14  
AEA, 4  
ECC, 5

到目前为止我的代码如下:

select staffreference + ',' + '3' + ',' + 'MSC' + ',' + 
  convert(varchar,convert(decimal(8,2),exptotal)) + ',' + ','  
from tblstaff s
inner join tblExpenseHeader h on h.ExpStaff = s.StaffIndex
where ExpApprovedOn> 'aug 25 2015'

1 个答案:

答案 0 :(得分:1)

您需要按员工参考进行分组,并对项目总结进行总结。修改原始查询,请尝试以下操作。

select staffreference + ',' + cast(sum(exptotal) as nvarchar(max))
from tblstaff s
inner join tblExpenseHeader h on h.ExpStaff = s.StaffIndex
where ExpApprovedOn > 'aug 25 2015'
group by staffreference