A column by which the same total number of data class landscape

Below, a statistical category for Kj_tx leave time accumulated vacation, Kj_nj annual leave days in accordance integrated display column

select 
a.AlEmpID as 员工ID,
a.alsdate,
a.aledate,
AlTime=(
case when a.ALSTime=480 and a.ALETime=1050 then 1 
     when a.ALSTime=480 and a.ALETime=720  then 0.5 
     when a.ALSTime=840  and a.ALETime=1050 then 0.5 
     when a.ALSTime=870  and a.ALETime=1050 then 0.5 
      else 0 end) ,
a.ALFType as 请假类别
from  kq_askleave a 
where a.AlEmpID=734 and a.alsdate>='2018-03-01 00:00:00'

1.jpg


the SELECT 
AA. employee ID,
max (d.Dept_lname) AS departments,
max (b.Emp_code) AS job number,
max (b.Emp_name) AS name,
max (b.Emp_zhiweiname) AS positions,
ISNULL (SUM (the when AA Case . leave Type = 'Kj_nj' then aa.AlTime + AlDay end), 0) leave,
ISNULL (SUM (Case When AA. leave Type = 'Kj_sj' then aa.AlTime + AlDay end), 0) leave,
ISNULL (SUM (case when aa. leave Type = 'Kj_bj' then aa.AlTime + AlDay end), 0) sick,
ISNULL (SUM (case when aa. leave Type = 'Kj_cj' then aa.AlTime + AlDay end), 0) maternity ,
ISNULL (SUM (Case When AA. leave Type = 'Kj_hj' then aa.AlTime + AlDay end), 0) marriage,
ISNULL (SUM (Case When AA. leave Type = 'Kj_tx' then aa.AlTime + AlDay end) , 0) leave the product
from 
(SELECT 
a.AlEmpID AS employee ID,
a.alsdate,
a.aledate,
Alday = (
case when a.ALSTime=480 and a.ALETime=1050  then datediff(day,a.alsdate,a.aledate)+1 
     when a.ALSTime=480 and a.ALETime=720  then  datediff(day,a.alsdate,a.aledate)
     when a.ALSTime=840  and a.ALETime=1050 then datediff(day,a.alsdate,a.aledate) 
     when a.ALSTime=870  and a.ALETime=1050 then datediff(day,a.alsdate,a.aledate) 
      else 0 end) ,
AlTime=(
case when a.ALSTime=480 and a.ALETime=1050 then 0 
     when a.ALSTime=480 and a.ALETime=720  then 0.5 
     when a.ALSTime=840  and a.ALETime=1050 then 0.5 
     when a.ALSTime=870  and a.ALETime=1050 then 0.5 
      else 0 end) ,


a.ALFType as 请假类别
from  kq_askleave a 
where a.AlEmpID=734 and a.alsdate>='2016-11-01 00:00:00' and a.aledate<='2018-05-01 00:00:00') aa
left join employeeview b on aa.员工ID=b.emp_id 
left join kq_altype c on aa.请假类别=c.kqaltcode 
left join emp_department d on b.Dept_code=d.Dept_code
group by  aa.员工ID


2.jpg

Guess you like

Origin blog.51cto.com/1206411/2407938