- PR -

テーブル間の計算

投稿者投稿内容
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2008-12-03 18:17
A のレコードが無い事を考慮してなかったです。
すみません。
と思ったら
B の
CODE 5
DATE 2008/11/21
ERROR_1 2
のレコードって最終的に
-2
になってないですよね。
A に無い場合は引き算しないんですか?
ハンドル
会議室デビュー日: 2008/01/25
投稿数: 16
投稿日時: 2008-12-04 10:40
引用:

Kingさんの書き込み (2008-12-03 18:17) より:
A のレコードが無い事を考慮してなかったです。
すみません。
と思ったら
B の
CODE 5
DATE 2008/11/21
ERROR_1 2
のレコードって最終的に
-2
になってないですよね。
A に無い場合は引き算しないんですか?



貴重なアドバイス有難うございます。
はい、(A)テーブルに無い場合には計算されません。

現在UNION ALLを使い結合し、UNION内のSELECT文の中で引き算するフィールド名に"-"を付ける無名tigerさんからのアドバイス方法で実現まで可能になりました。

ただ・・・
私の求めたい結果にも問題がありました・・・
(A)テーブルを中心に考えたいので
コード:
CODE |    DATE    | ERROR_1 | 
------------------------------------
  1  | 2008/11/20 |    3    | * (A)、(B)間で同じCODE&DATE行を引き算結果
------------------------------------
  2  | 2008/11/21 |    2    | 
------------------------------------
  3  | 2008/11/21 |    14   | * (A)、(C)間で同じCODE&DATE行を足し算結果
------------------------------------


のよう(B)テーブルのCODE=5の行は結果に入らない、結果を求めなくてはいけませんね。
nakaP
大ベテラン
会議室デビュー日: 2005/09/27
投稿数: 138
お住まい・勤務地: 高知
投稿日時: 2008-12-04 11:17
引用:

はい、(A)テーブルに無い場合には計算されません。


ということはやはりJOINの方ですね。
2008-12-03 18:08のKingさんの回答が参考になります。

ただ、今回AccessということなのでISNULLの部分はうまくいかないかも。
コード:
IIF(ISNULL(B.ERROR_1), 0, B.ERROR_1)


かな。

スキルアップ/キャリアアップ(JOB@IT)