アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

”SELECT Aテーブル.* Bテーブル.*
 FROM Aテーブル LEFT JOIN Bテーブル ON Aテーブル.KEY = Bテーブル.KEY”を
行った場合、Aテーブルにしか存在しないデータのBテーブル側の値は常にNULLに
なるようなのですが、この場合ゼロを固定に設定することは出来ないでしょうか?

よろしくお願いします。

※ORACLE 9i、PL/SQL上での処理を考えています

A 回答 (2件)

仮にBテーブルのカラムが KEY, COL2 NUMBER, COL3 VARCHAR2 だとします。



SELECT Aテーブル.*, Bテーブル.*

で取得時にNULLの内容を 0 に置換する事はできません。

以下のように取得時に明示的に置換するしかないと思います。

SELECT Aテーブル.*,
NVL(Bテーブル.COL2, 0) COL2,
NVL(Bテーブル.COL3, '0') COL3
    • good
    • 0
この回答へのお礼

utakataXEX様

”NVL”でなんとかなりそうです。

これでまた一歩進めました。
ありがとうございました

お礼日時:2010/12/04 15:49

実機がないので試してませんが。



B.*ではなく、列を列挙しNVLで囲むとどうなります?

select A.列1, A.列2, nvl(B.列1, 0), nvl(B.列2, 0) from
のように。
    • good
    • 0
この回答へのお礼

bin-chan 様

このような書き方も出来るのですか・・・
まだ開発環境がないので、試せないですが、活用させていただきます。

ありがとうございました

お礼日時:2010/12/04 15:52

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