首页 > 解决方案 > 将 Crystal“如果以前”转换为 SQL

问题描述

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

SELECT ServiceID, ServiceDate, Hours, IsGroup 
FROM vSALS 

水晶:

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

谁能帮我将水晶翻译成[GroupHours]我查询中的一个字段?

标签: sqlcrystal-reports

解决方案


当您从 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

推荐阅读