2016-01-27 54 views
2

之列,我想獲得一個列的總和,但我有一個條件麻煩乘法和條件

| Target | MultiOnQry | 
--------------------------- 
| 50393 |  1  | 
| 49  |  1  | 
| 303  |  0  | 
| 1934 |  1  | 
| 45  |  0  | 
--------------------------- 

我要總結從目標列截斷值,但要乘通過X,如果MultiOnQry = 1。 這是從vba調用的,所以我會用X代替標量。

SELECT SUM(CAST(Target*X AS Integer)) AS TargetSum FROM table WHERE ID = 1078 
+0

請提供您所需的輸出在你的問題,這將幫助我們來幫助你。 –

回答

2
SELECT SUM(CASE WHEN MultiOnQry = 0 
     then CAST(Target AS Integer) 
     else CAST(Target AS Integer)*X end) AS TargetSum 
FROM table WHERE ID = 1078 

試試這個。

0

嘗試:

SELECT SUM(IIF(MultiOnQry = 1, CAST(Target AS INT)*X, CAST(Target AS INT))) AS TargetSum 
FROM table WHERE ID = 1078