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

How about this:

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 に答える