プロが教える店舗&オフィスのセキュリティ対策術

SQL文で“ある箇所のデータがNULLだったら指定した場所からデータを引用する”ということをしたいのですがどのように記述すれば良いのでしょうか?
画像にあるようなテーブル構成だと仮定します。
やりたいこととして
select
A.XA,
A.YA,
A.ZA + M.M2,
B.XB,
B.YB
B.ZB
from
A,
B,
M
where
A.XA = B.XB and
A.YA = B.YB and
B.ZB = M.M1
;

というような書き方です。
ちなみにM2のデータ型は「Interval Day?」とかいうような型らしい?です。名前忘れましたが・・・

このイラストから見るとマスターテーブルの“F5”のM2データがNULLです。
NULLデータは日付の加算ができなくなるので・・・対処したいのです。
このSQL文に加える処理として、
「もし、マスターテーブルのF5がNULLの場合のみG6のM2を参照する」
という構文を追加したいのですが・・・
そのような記述はSQL内で可能なのでしょうか?

「SQLで特定データがNULLなら別データ」の質問画像

A 回答 (1件)

COALESCE(F5,G6.M2)


列名は適宜調整してください。

COALESCE(評価する値,Nullの場合の代替値)
評価する値がNullでなければ、評価する値がそのまま返されます。
評価する値がNullなら、Nullの場合の代替値が返されます。

OracleだったらNVL関数
ACCESSだったらNz関数
    • good
    • 0
この回答へのお礼

ありがとうございます。大変参考になる意見ありがとうございました。

お礼日時:2012/02/14 22:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!