2014-04-28 19 views
0

在我的存儲過程中,我正在嘗試向我的銷售中添加FEE。使用帶有計算的存儲過程中的if/else

  • 如果ITEM_PRICE是> 69它應具有6在費
  • 如果ITEM_PRICE是< = 69應該在費
  • 具有3如果ITEM_PRICE是< = 19它應該有費用1

我試着將它添加到我的SELECT語句,但我不知道如何正確插入它。

AS 'Income inc VAT, ex Discount', 
    case when item_price > 69 then 6 
    case when item_price <= 69 then 3 
    else 1 
    AS 'fee' 

就如何即時通訊試圖實現它,我添加了一些select語句的例子...

解決方案: 在我的select語句我加入基於偉大的答案驗證碼我找來的,它的工作:

 case when item_price > 69 then 6 
     when item_price <= 69 then 3 
     else 1 
     end 
     AS 'Fee' 

回答

1

你應該使用情況statment:

從內存中寫入:

insert into fee (fee_value) 
select 
    case when item_price > 69 then 6 
    case when item_price <= 69 then 3 
    else 1 
end 

等等......

或者,也許你想使用變量:

declare @fee int 

if @item_price > 69 
set @fee = 6 

...

insert into fee(fee_value) 
values (@fee) 

或者另一種方式:

declare @item_price int = 12 

declare @fee int 

SELECT 
    @fee = case 
      when @item_price > 69 then 6 
      when @item_price between 13 and 69 then 2 
      else 1 
     end 

select @fee 
+0

爲此我將不得不在DB中創建費用列?我沒有得到如何建立到我的選擇語句 – Lebowski

+0

@Lebowski我不知道你真的想要做什麼..而我不知道你想如何使用你的計算。我的解決方案顯示瞭如何調整費用計算。 – robertw

+0

@Lebowski如果你只需要選擇費用可以用我的第一個例子,而不statment的INSERT部分 – robertw

相關問題