Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
AskSQLTeam
Ask SQLTeam Question
0 Posts |
Posted - 2002-03-18 : 09:57:16
|
| Avi writes "Thanks In AdvanceI have the following SQL statement that returns SUM(Hours) per given week and workorder. i also want to get SUM(Hrs) and AVG(Hrs) for all eight weeks per workorder. is there a way to do all this in a SQL Statement.additional fields that i need are1. SUM(Wk1,Wk2,Wk3,Wk4,Wk5,Wk6,Wk7,Wk8) per workorder2. AVG(Wk1,Wk2,Wk3,Wk4,Wk5,Wk6,Wk7,Wk8) per workorderhere is what i have right nowSELECT WO.Work_Order WO,SUM(CASE WPH.WeekOf WHEN '3/11/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk1, SUM(CASE WPH.WeekOf WHEN '3/18/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk2, SUM(CASE WPH.WeekOf WHEN '3/25/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk3, SUM(CASE WPH.WeekOf WHEN '4/1/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk4, SUM(CASE WPH.WeekOf WHEN '4/8/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk5, SUM(CASE WPH.WeekOf WHEN '4/15/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk6, SUM(CASE WPH.WeekOf WHEN '4/22/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk7, SUM(CASE WPH.WeekOf WHEN '4/29/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk8 FROM Workorder WO,WorkorderProjectionHours WPH,TeamMember TM,MemberDiscipline MD,Discipline DI, Assignments AI WHERE WPH.Assignment_ID = AI.Assignment_ID AND AI.MemberDiscipline_ID = MD.MemberDiscipline_ID AND MD.Member_ID = TM.Member_ID AND MD.Member_ID = 156 AND MD.Discipline_ID = DI.Discipline_ID AND WO.Work_Order = AI.Work_Order GROUP BY WO.Work_Order" |
|
|
Jay99
468 Posts |
Posted - 2002-03-18 : 10:54:03
|
You may find that you get better performance from other methods . . .SELECT WO.Work_Order WO,SUM(CASE WPH.WeekOf WHEN '3/11/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk1, SUM(CASE WPH.WeekOf WHEN '3/18/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk2, SUM(CASE WPH.WeekOf WHEN '3/25/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk3, SUM(CASE WPH.WeekOf WHEN '4/1/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk4, SUM(CASE WPH.WeekOf WHEN '4/8/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk5, SUM(CASE WPH.WeekOf WHEN '4/15/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk6, SUM(CASE WPH.WeekOf WHEN '4/22/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk7, SUM(CASE WPH.WeekOf WHEN '4/29/2002' THEN WPH.Projected_Hours ELSE 0.00 END) AS Wk8,(CASE WPH.WeekOf WHEN '3/11/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '3/18/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '3/25/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/1/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/8/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/15/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/22/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/29/2002' THEN WPH.Projected_Hours ELSE 0.00 END) as theSum,((CASE WPH.WeekOf WHEN '3/11/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '3/18/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '3/25/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/1/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/8/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/15/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/22/2002' THEN WPH.Projected_Hours ELSE 0.00 END +CASE WPH.WeekOf WHEN '4/29/2002' THEN WPH.Projected_Hours ELSE 0.00 END) / 8) as theAvgFROM Workorder WO,WorkorderProjectionHours WPH,TeamMember TM,MemberDiscipline MD,Discipline DI, Assignments AI WHERE WPH.Assignment_ID = AI.Assignment_ID AND AI.MemberDiscipline_ID = MD.MemberDiscipline_ID AND MD.Member_ID = TM.Member_ID AND MD.Member_ID = 156 AND MD.Discipline_ID = DI.Discipline_ID AND WO.Work_Order = AI.Work_Order GROUP BY WO.Work_Order Jay |
 |
|
|
|
|
|
|
|