вы можете попробовать следующим образом.Вы можете отменить вашу таблицу, как я тестировал временную таблицу так же, как ваша таблица.
create table #tmp_emp (EMP_CODE varchar(10),LEAVENAME char(2), APP_TYPE char(1),LEAVE_DATE datetime,ACT_DAYS decimal(2,1))
insert into #tmp_emp values ('ST006','CL','P ','2012-01-03','1.0');
insert into #tmp_emp values ('ST006','CL','P ','2012-01-18','1.0');
insert into #tmp_emp values ('ST006','SL','P ','2012-01-27','1.0');
insert into #tmp_emp values ('ST002','CL','P ','2012-01-04','1.0');
insert into #tmp_emp values ('ST002','CL','P ','2012-01-12','1.0');
insert into #tmp_emp values ('ST002','SL','P ','2012-01-27','1.0');
insert into #tmp_emp values ('OCO038','CL','P ','2012-01-27','1.0');
insert into #tmp_emp values ('HO188','CL','P ','2012-01-09','1.0');
insert into #tmp_emp values ('HO188','CL','P ','2012-01-30','1.0');
insert into #tmp_emp values ('HO085','CL','P ','2012-01-19','1.0');
insert into #tmp_emp values ('HO085','SL','P ','2012-01-23','1.0');
SELECT EMP_CODE,[CL],[LWP],[PL],[SL]
FROM
(
select EMP_CODE, LEAVENAME, sum(ACT_DAYS) ACT_DAYS
from #tmp_emp
group by EMP_CODE, LEAVENAME
) L
PIVOT (SUM(ACT_DAYS) FOR LEAVENAME IN ([CL],[LWP],[PL],[SL]))
AS PVT ORDER BY EMP_CODE;