如果列位于特定日期范围内并且类型匹配,我想对列进行求和。
ml_leave_type_id如果匹配则将totalleavestaken总和,但也检查它是否位于11月份的特定范围e-g中。
SELECT
LA.employee_id,
DATEDIFF(
LA.approved_to,
LA.approved_from
) AS TotalLeavesTaken,
LAPP.`entitlement_id`,
LAPP.`ml_leave_type_id`,
LA.leave_application_id,
LA.approved_from AS LeaveFrom,
LA.approved_to AS LeaveTo
FROM
leave_approval LA
INNER JOIN leave_application LAPP
ON LAPP.application_id = LA.leave_application_id
WHERE YEAR(LA.approval_date) = 2014
AND LA.`employee_id` = 1
GROUP BY LA.employee_id,
LAPP.`ml_leave_type_id`
所以根据图片,我应该得到记录5
,8
和12
在总的叶子中取3和5将总计达到8 cuz {{1}匹配以及月份匹配,因为它们属于同一年的同一个月。
你有第三和第四条记录,其月份匹配,但是leave_type_id不匹配或者leave_type_id匹配,但是月份不匹配,为什么它不应该总结。
另外,我想要另一列,如果只有年份和leave_type_id匹配,则应该总计所有的总量。月份不应该算在内。所以这将是12 + 5 + 3 = 20