スタッフの出席のためにSQLテーブルに2つのbit
タイプの列があり、休暇のタイプは次のよう1 for Medical Leave or 2 for Paid Leave
になり、その値は次のようになります。
FirstHalfLeave Type SecondHalfLeave Type
------------ ---- ------------- ----
0(Absent) 1 1 2
1(Present) 1 1 2
これらの 2 つのフィールドを合計して 1 日を残す必要があり、次のような正確な結果を表示する必要があります。
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
しかし、それはうまくグループ化されていません。これを行う方法がわかりません。誰かがここで私を助けてくれますか、事前に感謝します