2

谁能帮我为以下公式编写 SQL 脚本?

If DEP = 1
   If DROP 1
      PLV = 334.86 * exp(0.3541 * ACTIVE_DAYS) + 0.25 * DROP + 20 * DEP
   Else
      If DROP < 0
         PLV = DROP + 70 * ACTIVE_DAYS
      Else
         PLV = 0.25 * DROP + 70 * ACTIVE_DAYS

我拥有的 SQL 脚本如下

 SELECT IF(dep=1, if(dep=1, (334.86 * exp(0.3541 * act_days)) + 
 (0.25 * 'drop') + (20 *   dep),
 if('drop'<0, 'drop' + (70 * act_days), (0.25 * 'drop') + (70 * act_days))),'0')
 as PLV

但是上面的查询是不正确的,因为公式说的地方缺少一些东西

Else
PLV = 0.26 * DROP

谢谢,

4

1 回答 1

1

这个怎么样:

CASE "DEP" 
  WHEN 1 
  THEN CASE  
         WHEN "DROP" = 1 THEN 334.86 * exp(0.3541 * "ACTIVE_DAYS") + 0.25 * "DROP" + 20 * "DEP"
         WHEN "DROP" < 0 THEN "DROP" + 70 * "ACTIVE_DAYS"
         ELSE 0.25 * "DROP" + 70 * "ACTIVE_DAYS"
         END
  END
于 2012-12-12T11:17:57.003 回答