2011-05-18 34 views
4

我想組成一個SQL查詢來實現以下功能:SQL - 僅影響返回值中的一個的約束?

我有一個表,其中包括A列和B列。我想獲得A的總和和B的總和(根據WHERE子句I的狀態)以及其他各種值。但是,B有可能包含空值。我還想通過相同的查詢返回相應的B值不爲null的A的總和值。這是我想通過B是否爲空來返回的唯一值。

那麼,關於如何實現這一點的任何建議?我在SQL Server 2008工作

任何幫助深表感謝

回答

4
SELECT SUM(A) AS SumA, 
     SUM(B) AS SumB, 
     SUM(CASE WHEN B IS NOT NULL THEN A END) As Foo, /*... Rest of Query*/ 
+0

真棒,非常感謝!我會盡快接受這個答案,只要stackoverflow允許我 ​​- 似乎有一段時間必須通過,然後才能做到這一點 – QuakerOat 2011-05-18 22:33:16