2016-04-12 57 views
1
SELECT sum(sum(DATEDIFF(DAY,LeaveBreakup.StartDate,LeaveBreakup.EndDate)+1)) AS totalNoOfDays, 
     LeaveApplication.Id, 
     LeaveBreakup.StartDate, 
     LeaveBreakup.EndDate, 
     LeaveApplication.ReasonForLeave, 
     LeaveApplication.ProcessorComment, 
     Team.Name, 
     LeaveTypeDetail.Name 
FROM LeaveApplication 
INNER JOIN Employee ON LeaveApplication.Employee=Employee.Id 
INNER JOIN Team ON Employee.Team=Team.Id 
INNER JOIN LeaveBreakup ON LeaveApplication.Id=LeaveBreakup.LeaveApplication 
INNER JOIN LeaveTypeDetail ON LeaveBreakup.LeaveType=LeaveTypeDetail.LeaveType 
WHERE Employee.Team=5 
    AND LeaveStatus!=0 
    AND LeaveBreakup.StartDate BETWEEN '01-01-2016' AND '01-31-2016' 
    AND LeaveBreakup.WhichHalf=0 
GROUP BY LeaveApplication.Id, 
     LeaveBreakup.StartDate, 
     LeaveBreakup.EndDate, 
     LeaveApplication.ReasonForLeave, 
     LeaveApplication.ProcessorComment, 
     Team.Name, 
     LeaveTypeDetail.Name 
ORDER BY LeaveBreakup.StartDate 
+0

你爲什麼要sum'sum'?這是錯誤。 – HoneyBadger

+0

你不需要那些2 SUM在開始SUM(blah)+1 – Mihai

+0

我只是想提前感謝那個列'totalNoOfDays' – akash

回答

0

嘗試類似這樣的操作。

SELECT sum(totalNoOfDays) as total, 
a.Id, 
     a.StartDate, 
     a.EndDate, 
     a.ReasonForLeave, 
     a.ProcessorComment, 
     a.Name, 
     a.Name 
from 
select 
(
select sum(DATEDIFF(DAY,LeaveBreakup.StartDate,LeaveBreakup.EndDate)+1) AS totalNoOfDays, 
     LeaveApplication.Id, 
     LeaveBreakup.StartDate, 
     LeaveBreakup.EndDate, 
     LeaveApplication.ReasonForLeave, 
     LeaveApplication.ProcessorComment, 
     Team.Name, 
     LeaveTypeDetail.Name 
FROM LeaveApplication 
INNER JOIN Employee ON LeaveApplication.Employee=Employee.Id 
INNER JOIN Team ON Employee.Team=Team.Id 
INNER JOIN LeaveBreakup ON LeaveApplication.Id=LeaveBreakup.LeaveApplication 
INNER JOIN LeaveTypeDetail ON LeaveBreakup.LeaveType=LeaveTypeDetail.LeaveType 
WHERE Employee.Team=5 
    AND LeaveStatus!=0 
    AND LeaveBreakup.StartDate BETWEEN '01-01-2016' AND '01-31-2016' 
    AND LeaveBreakup.WhichHalf=0 
GROUP BY LeaveApplication.Id, 
     LeaveBreakup.StartDate, 
     LeaveBreakup.EndDate, 
     LeaveApplication.ReasonForLeave, 
     LeaveApplication.ProcessorComment, 
     Team.Name, 
     LeaveTypeDetail.Name 
)a 
group by 
a.Id, 
a.StartDate, 
a.EndDate, 
a.ReasonForLeave, 
a.ProcessorComment, 
a.Name, 
a.Name 
ORDER BY a.StartDate 
相關問題