2013-07-16 56 views
1

希望您的傢伙能夠提供幫助。用於檢查字段值的CASE語句

我寫從特異性具有可變的數據的completed柱可以具有的13一個值的表還具有兩個qty_字段QTYORDEREDQTYSHIPPED

如果該值是3COMPLETED一個表的查詢那麼QTYSHIPPED將包含一個值,如果值爲1,則QTYORDERED將具有值。

我需要做的是我的查詢中創建它只是有一個QTY有人可以告訴我如何在SQL Server來實現這一列

回答

7

這是一個簡單case聲明:

select (case when completed = 1 then QTYORDERED 
      when completed = 3 then QTYSHIPPED 
     end) as QTY 

請注意,當completed有任何其他值時,它將返回NULL。

你也可以寫爲:

select (case completed when 1 then QTYORDERED 
         when 3 then QTYSHIPPED 
     end) 

然而,第一種形式是比較一般,爲您提供複雜的邏輯更多的靈活性。

+0

輝煌!感謝您的幫助 –

2
SELECT 
    CASE completed 
     WHEN 1 THEN QTYORDERED 
     WHEN 3 THEN QTYSHIPPED 
     ELSE 0 --Or add any logic when something goes wrong with "completed" value 
    END as Quantity 
FROM .... 
+0

感謝您的回答! –