-3

テーブルに 3 つの列があり、すべての列に数値が保持されています。

列 a と b を追加し、列 c を引いて追加したいのですが、その SQL は何でしょうか?

4

3 に答える 3

3

私が何かを逃していない限り、あなたはこれをする必要があるように聞こえます:

select (NVL(cola, 0) + NVL(colb, 0)) - NVL(colc, 0)
from yourtable
于 2012-08-30T17:20:23.180 に答える
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

共有してお楽しみください。

于 2012-08-30T17:35:22.313 に答える
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;

ありがとうアジェイ

于 2015-08-12T15:26:28.217 に答える