0

私はこれらの2つのテーブルを持っています:

SQL> SELECT * FROM TAB_A;
MYDATE        P4         D1      D2      P5      P6
--------- ---------- ---------- ----------- ----------- -----------
30-OCT-12    949,324  4,437,654  10,203,116  25,303,632  13,900,078


SQL> SELECT * FROM TAB_B;
MYDATE        P4         D1      D2      P5      P6
--------- ---------- ---------- ----------- ----------- -----------
30-OCT-12    937,796  4,388,477  10,091,811  25,028,402  13,755,882

それぞれの列を減算し、結果を次のように 3 番目のテーブルに格納する必要があります。

SQL> INSERT INTO TAB_C (MYDATE, P4) SELECT SYSDATE,A.P4-B.P4 FROM  TAB_A A,TAB_B B WHERE A.MYDATE=B.MYDATE;

SQL> SELECT * FROM TAB_C;
MYDATE        P4         D1      D2      P5      P6
--------- ---------- ---------- ----------- ----------- -----------
30-OCT-12     926,268

結果は間違っています。基本的な計算: 949324-937796=11528. 数値は数値データ型として格納されます。ここで何が欠けていますか?

4

2 に答える 2

0

これを試して:

INSERT INTO TAB_C (MYDATE, P4)
VALUES (SYSDATE, SELECT (A.P4-B.P4) FROM  TAB_A A, TAB_B B WHERE A.MYDATE=B.MYDATE)
于 2012-10-31T04:59:06.430 に答える
0
SELECT SYSDATE ,A.P4, B.P4, A.P4-B.P4 
FROM  TAB_A A,TAB_B B 
WHERE A.MYDATE=B.MYDATE

p4 値が期待どおりであることを確認してください...

于 2012-10-31T00:06:46.743 に答える