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.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 Is Case inside a select Possible??

Author  Topic 

iancuct
Yak Posting Veteran

73 Posts

Posted - 2004-08-11 : 12:54:33
I have the following code


SELECT
CASE WHEN (PdtMachId ='F') THEN
SUM(PdtTotalCount * (PdtFormLength / 12.00)) AS DailyFootage, PdtProdDate,
SUM(PdtTotalCount * PdtNumUp) AS QtyName,
SUM (CASE WHEN (PdtShiftID = 1 OR PdtShiftID = 2 and PdtOpCode='DN') THEN
(DATEDIFF(mi,PdtTimeStart, PdtTimeStop) / 60.00)
ELSE 0
END)
AS DownTime,
SUM (CASE WHEN (PdtShiftID = 1 OR PdtShiftID = 2 and PdtOpCode='IT') THEN
(DATEDIFF(mi,PdtTimeStart, PdtTimeStop) / 60.00)
ELSE 0
END)
AS IdleTime,
AVG ((7.5-(PdtPG1Hrs + PdtPG2Hrs + PdtPG3Hrs + PdtPG4Hrs + PdtPG5Hrs))/7.5) as Efficiency,
SUM (PdtPG1Hrs + PdtPG2Hrs + PdtPG3Hrs + PdtPG4Hrs + PdtPG5Hrs) AS ProductGroupHours,

ELSE

SUM(PdtTotalCount * (PdtFormLength / 12.00)) AS DailyFootage, PdtProdDate,
SUM(PdtTotalCount * PdtNumUp) AS QtyName,
SUM (CASE WHEN (PdtShiftID = 1 OR PdtShiftID = 2 and PdtOpCode='DN') THEN
(DATEDIFF(mi,PdtTimeStart, PdtTimeStop) / 60.00)
ELSE 0
END)
AS DownTime,
SUM (CASE WHEN (PdtShiftID = 1 OR PdtShiftID = 2 and PdtOpCode='IT') THEN
(DATEDIFF(mi,PdtTimeStart, PdtTimeStop) / 60.00)
ELSE 0
END)
AS IdleTime,
AVG ((7.5-(PdtPG1Hrs + PdtPG2Hrs + PdtPG3Hrs + PdtPG4Hrs + PdtPG5Hrs))/7.5) as Efficiency,
SUM (PdtPG1Hrs + PdtPG2Hrs + PdtPG3Hrs + PdtPG4Hrs + PdtPG5Hrs) AS ProductGroupHours
END
FROM DMAIL.TblProdDetail
GROUP BY PdtProdDate

Sorry if i posted here too, i think Developer its more appropriate for this then General SQL

Kristen
Test

22859 Posts

Posted - 2004-08-11 : 13:04:13
Note: Duplicate of http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=38499
Go to Top of Page
   

- Advertisement -