2012-08-30 31 views
-3

我在表中有3列,所有列都有數字值。加減多列

我想添加列a和b並減去列c那麼SQL會是什麼?

+1

你沒有提供任何信息,在這裏去的一樣。請編輯您的問題並提供您的表格結構,幾行樣本數據以及該數據的所需輸出。我們不知道你想要做什麼,也看不到你的屏幕或從這裏讀出你的想法。謝謝。 –

+0

@ElVieejo,因爲PL/SQL特別是Oracle,所以它可能是RDBMS。 :-) –

回答

3

除非我失去了一些東西,這聽起來像你只需要做到這一點:

select (NVL(cola, 0) + NVL(colb, 0)) - NVL(colc, 0) 
from yourtable 
+2

+1 - 但要小心'NULL's – Lamak

+0

謝謝,如果在列a的情況下總共有B和c,我如何從列A中只取出c值並保留B的值 – user803860

+0

@Lamak你是對的,再加上NVL()'再次感謝。 :) – Taryn

1

響應您在您的評論提出來@ bluefeet的回答這個問題:

SELECT CASE 
     WHEN A = B + C THEN A - C 
     ELSE A + B - C 
     END AS RESULT_VAL 
    FROM SOME_TABLE 

,或者你可能只是在第一種情況下簡單地返回B:

SELECT CASE 
     WHEN A = B + C THEN B 
     ELSE A + B - C 
     END AS RESULT_VAL 
    FROM SOME_TABLE 

分享和享受。

+0

非常感謝,下面的qry又如何:select SUM((A + B)-C)calls從表 這給我列總數 – user803860

+0

嘗試'SELECT SUM(CASE當A = B + C那麼B ELSE A + B - C END)作爲RESULT_SUM FROM SOME_TABLE'。 –

0

請檢查下面的邏輯來減去,實現使用另外的多個列

select 
SUM(a.COL1 -  B.COL1) COL1, 
SUM(a.COL2 -  B.COL2) COL2, 
SUM(a.COL3 - B.COL3) COL3, 
SUM(a.COL4 - B.COL4) COL4, 
SUM(a.COL5 -  B.COL5) COL5 , 
SUM(a.COL6 -  B.COL6) COL6, 
SUM(a.COL7- B.COL7) COL7 
FROM 
(select Coln, --Common column 
sum(COL1) COL1 , 
sum(COL2) COL2, 
sum(COL3) COL3, 
sum(COL4) COL4, 
sum(COL5) COL5, 
sum(COL6) COL6, 
sum(COL7) COL7 
from wrk_prod 
GROUP BY Coln) a, 
(select Coln, --Common column 
sum(COL1) COL1 , 
sum(COL2) COL2, 
sum(COL3) COL3, 
sum(COL4) COL4, 
sum(COL5) COL5, 
sum(COL6) COL6, 
sum(COL7) COL7 
from wrk_test 
GROUP BY Coln) b 
where a.Coln = b.Coln; 

感謝 阿賈伊

+0

這不提供問題的答案 – bish