2016-08-24 48 views
0

我正在用PLSQL來實現下面的一些功能。plsql如果控制不同的計算

我有一個表有每件重量的塊級數據。基本上我想實現以下功能:

  1. 如果單件重量超過1磅。 GROUPBY小區(重量)(下一個LB)
  2. 如果件重量小於1個LB GROUPBY細胞(重量* 16)(下一個OZ)

我只是好奇如何可以意識到,在PLSQL。我覺得我需要有if語句。但我不知道該怎麼做。

(重量已經在該表中的一個變量,我需要在此申報?)

 begin 
      if weight <1 then 
       select ceil(weight*16),sum(weight) 
      from ops_owner.track_mail_item 
      where manifestdate = '24-aug-2016' 
      group by ceil(weight*16) 

      else select ceil(weight),sum(weight) 
      from ops_owner.track_mail_item 
      where manifestdate = '24-aug-2016' 
      end if, 
      end; 

非常感謝您!

回答

0

我想在內聯視圖中調整權重值。

select 
    ceil(adjusted_weight), 
    sum(adjusted_weight) 
from 
    (
    select 
    case 
     when weight < 1 then weight * 16 
     else weight 
    end adjusted_weight 
    from 
    ops_owner.track_mail_item 
    where 
    manifestdate = '24-aug-2016' 
    ) 
group by 
    ceil(adjusted_weight); 
+0

謝謝大衛。解決我的問題! –