1
我在對員工的考勤SQL表中的兩bit
類型列,並留下像1 for Medical Leave or 2 for Paid Leave
類型,它的值是一樣,SQL組,皈依
FirstHalfLeave Type SecondHalfLeave Type
------------ ---- ------------- ----
0(Absent) 1 1 2
1(Present) 1 1 2
我需要總結這些兩個字段,使其離開一天,我需要像dislay
Type Days
---- ------
MedicalLeave 0.5
PaidLeave 1.0
爲了這個,我試過像
select cast(
sum(
(
CAST(StaffAttendance.FirstHalfStatus as Integer) +
CAST(StaffAttendance.SecondHalfStatus as integer)
)
/2.0
) as float
) as TotalLeave
,case when StaffAttendance.FirstHalfLeaveType = 2 OR
StaffAttendance.SecondHalfLeaveType=2 then 'Paid Leave'
else 'Medical Leave'
end as Status
from StaffAttendance
where MONTH(StaffAttendance.date)=MONTH(GetDate())
group by StaffAttendance.FirstHalfLeaveType,StaffAttendance.SecondHalfLeaveType
確切的結果
,但它不是很好的分組,我不知道如何做到這一點,任何人都可以幫助我在這裏,在此先感謝
的Shahriar感謝,我會檢查它 – shanish
有時'SUM(sa.LeaveDays)/ COUNT (sa.LeaveDays)'也可以縮寫爲'AVG(sa.LeaveDays)'。 :) –
@AndriyM 100%權利。 AVG()縮短。但我忘了使用縮短的。 :) –