2014-01-15 183 views
0

我試圖在sql server 2008中運行查詢。
它根據它所屬的材料組和UOM獲得已轉換的數量字段
的總和到
查詢包括以下字段

SQL Server 2008中可能的嵌套case語句或IF語句

SUM(CAST(CASE WHEN A.[case_MaterialGroup] LIKE '%OIL%' 
         AND A.[case_UOM] = 'KG' THEN A.[case_quantity] * 0.2 
       WHEN A.[case_MaterialGroup] LIKE '%VOL%' 
         AND A.[case_UOM] = 'ACR' THEN A.[case_quantity]/2.4711 
       WHEN A.[case_ProductDetails] LIKE '%FODDER RAPE%' 
         OR A.[case_ProductDetails] LIKE '%STUBBLE TURNIP%' THEN A.[case_quantity]/3 
       WHEN @tonage LIKE '%' + A.[Case_ProductArea] + '%' 
         AND A.[case_UOM] = 'KG' THEN A.[case_quantity]/1000 
       WHEN @kilo LIKE '%' + A.[Case_ProductArea] + '%' 
         AND A.[case_UOM] = 'TO' THEN A.[case_Quantity] * 1000 
       ELSE A.[case_quantity] 
      END AS NUMERIC)) AS Quantity 



上面的代碼工作得很好,它計算基於材料組和UOM(度量單位爲數量的總和。
現在我想能夠做的另一測試的數量值的總和計算

Cast (Case When A.[case_Bltp] = 'RE' then Quantity * -1<br/> 
      when A.[case_Bltp] = 'G2' then 0 <br/> 
      else Quantity end as numeric) as Quantity, <br/> 

,做好工程量的最終值的總和之前。

我是否必須編寫一個非常長的案例陳述或者是否有方法可以合併這兩個陳述?
謝謝
瑞秋

回答

0

我已經解決了這個, 我做了一個嵌套的Case語句,並添加的選項之一where語句
如果有人想看到它,我可以將其添加在週五