Hi David,
I like what you did with the query. It looks much "cleaner" than before. However, I get the following message: Line 59 (highlighted): Incorrect syntax near 'Daily Total'
Thank you.
CREATE PROCEDURE MTDPerformance3
AS
SELECT department,
[Date],
SUM(CASE [Product] WHEN 'E-Tech' THEN [output] else 0 END) as 'E-TECH',
SUM(CASE [Product] WHEN 'E-9' THEN [output] else 0 END) as 'E-9',
SUM(CASE [Product] WHEN 'E-7' THEN [output] else 0 END) as 'E-7',
SUM(CASE [Product] WHEN 'E-6' THEN [output] else 0 END) as 'E-6',
SUM([output]) as 'Total Output',
Manpower,
holidays,
Absent,
Overtime,
Launch,
[Daily Total]
FROM (SELECT tblInput_Output.department,
tblInput_Output.[Date],
([1st-output] + [2nd-output] + [3rd-output] + [OT-output]) as 'Output',
([1st Shift Manpower]+[2nd Shift Manpower]+[3rd Shift Manpower]) as 'Manpower',
holidays,
([Absent 1st Shift]+[Absent 2nd Shift]+[Absent 3rd Shift]) as 'Absent',
([Overtime 1st Shift]+[Overtime 2nd Shift]+[Overtime 3rd Shift]) as 'Overtime',
([Launch 1st Shift]+[Launch 2nd Shift]+[Launch 3rd Shift]) as 'Launch',
Case Left( Datename(dw,tblAbsentOverLaunch.[Date]),1)
When 'S' then ([Overtime 1st Shift]+[Overtime 2nd Shift]+[Overtime 3rd Shift])
else (( [1st-output]+[2nd-output]+[3rd-output]+[OT-output]) +( [1st Shift Manpower]+[2nd Shift Manpower]+[3rd Shift Manpower]) * 8 ) -
([Absent 1st Shift]+[Absent 2nd Shift]+[Absent 3rd Shift]) +( [Overtime 1st Shift]+[Overtime 2nd Shift]+[Overtime 3rd Shift])
End as 'Daily Total'
FROM tblAbsentOverLaunch
RIGHT OUTER JOIN tblProduct
INNER JOIN tblInput_Output
ON tblProduct.department = tblInput_Output.department
AND tblProduct.[Part Number] = tblInput_Output.[Part Number]
INNER JOIN tblCensusDaily
ON tblInput_Output.department = tblCensusDaily.Department
AND tblInput_Output.[Date] = tblCensusDaily.[Date]
LEFT OUTER JOIN tblHolidaySchedule
ON tblCensusDaily.[Date] = tblHolidaySchedule.[Date]
ON tblAbsentOverLaunch.[Date] = tblCensusDaily.[Date]
AND tblAbsentOverLaunch.department = tblCensusDaily.Department
WHERE ( tblInput_Output.department = N'110')
AND ( tblInput_Output.[Date] >= CONVERT(DATETIME, '2004-04-01 00:00:00', 102))
GROUP BY
department,
[product],
[Date],
[Manpower],
holidays,
[Absent],
[Overtime],
[Launch],
[Daily Total]
GO