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 |
|
crwenger
Starting Member
2 Posts |
Posted - 2007-01-04 : 13:12:45
|
| Hi,I've written this query that returns a single value as the SUM of 3 interger columns using a single DateTime parameter. I would like to modify this query to return this sum and 4 more following days values in a single row as Day1, Day2, and so forth. Hope I made myself understood and any help would be greatly appreciated.SELECT SUM(JobHistoryDetail.NumberOfSkippedFiles + JobHistoryDetail.NumberOfCorruptFiles + JobHistoryDetail.NumberOfInUseFiles) AS Day1FROM JobHistorySummary INNER JOIN JobHistoryDetail ON JobHistorySummary.JobHistoryID = JobHistoryDetail.JobHistoryID INNER JOIN JobHistoryDetailInfo ON JobHistoryDetail.JobHistoryDetailID = JobHistoryDetailInfo.JobHistoryDetailIDWHERE (JobHistorySummary.OriginalStartTime BETWEEN DATEADD(HOUR, 5, @PARAM1) AND DATEADD(HOUR, 29, @PARAM1)) |
|
|
snSQL
Master Smack Fu Yak Hacker
1837 Posts |
Posted - 2007-01-04 : 13:39:04
|
| This should do itSELECT SUM(CASE WHEN JobHistorySummary.OriginalStartTime BETWEEN DATEADD(HOUR, 5, @PARAM1) AND DATEADD(HOUR, 29, @PARAM1) THEN JobHistoryDetail.NumberOfSkippedFiles + JobHistoryDetail.NumberOfCorruptFiles + JobHistoryDetail.NumberOfInUseFiles ELSE 0 END)AS Day1,SUM(CASE WHEN JobHistorySummary.OriginalStartTime BETWEEN DATEADD(HOUR, 29, @PARAM1) AND DATEADD(HOUR, 53, @PARAM1) THEN JobHistoryDetail.NumberOfSkippedFiles + JobHistoryDetail.NumberOfCorruptFiles + JobHistoryDetail.NumberOfInUseFiles ELSE 0 END)AS Day2,SUM(CASE WHEN JobHistorySummary.OriginalStartTime BETWEEN DATEADD(HOUR, 53, @PARAM1) AND DATEADD(HOUR, 77, @PARAM1) THEN JobHistoryDetail.NumberOfSkippedFiles + JobHistoryDetail.NumberOfCorruptFiles + JobHistoryDetail.NumberOfInUseFiles ELSE 0 END)AS Day3,SUM(CASE WHEN JobHistorySummary.OriginalStartTime BETWEEN DATEADD(HOUR, 77, @PARAM1) AND DATEADD(HOUR, 101, @PARAM1) THEN JobHistoryDetail.NumberOfSkippedFiles + JobHistoryDetail.NumberOfCorruptFiles + JobHistoryDetail.NumberOfInUseFiles ELSE 0 END)AS Day4,SUM(CASE WHEN JobHistorySummary.OriginalStartTime BETWEEN DATEADD(HOUR, 101, @PARAM1) AND DATEADD(HOUR, 125, @PARAM1) THEN JobHistoryDetail.NumberOfSkippedFiles + JobHistoryDetail.NumberOfCorruptFiles + JobHistoryDetail.NumberOfInUseFiles ELSE 0 END)AS Day5FROM JobHistorySummary INNER JOINJobHistoryDetail ON JobHistorySummary.JobHistoryID = JobHistoryDetail.JobHistoryID INNER JOINJobHistoryDetailInfo ON JobHistoryDetail.JobHistoryDetailID = JobHistoryDetailInfo.JobHistoryDetailIDWHERE (JobHistorySummary.OriginalStartTime BETWEEN DATEADD(HOUR, 5, @PARAM1) AND DATEADD(HOUR, 125, @PARAM1)) |
 |
|
|
|
|
|
|
|