将 Crystal "if Previous" 转换为 SQL

Convert Crystal "if Previous" to SQL

我正在将 Crystal 报告中的所有计算转换为 SQL。其中一项计算是确定服务何时是一个组。我想将 [GroupHours] 添加到 SQL。所以,SQL 是:

SELECT ServiceID, ServiceDate, Hours, IsGroup 
FROM vSALS 

Crystal:

if ({vSALS.IsGroup} = 'Yes') // and Previous ({vSALS.Hours}) = {vSALS.Hours} 
   then {vSALS.Hours} * 2 
else //{vSALS.Hours} 0

谁能帮我将 Crystal 翻译成查询中的 [GroupHours] 字段?

当您从 Crystal 代码中删除注释时,您将得到:

if ({vSALS.IsGroup} = 'Yes') then {vSALS.Hours} * 2 

在SQL中可以写成:

select 
    ServiceID
    , ServiceDate
    , Hours
    , IsGroup
    , case 
        when IsGroup = 'Yes' then Hours*2 
      end as GroupHours
from 
    vSALS