• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DB2のSQLについて)

DB2のSQLについての質問

このQ&Aのポイント
  • DB2のSQLについて質問があります。数量という項目が数値だった場合にそのまま数量の値を、違った場合には「0」を返すSQLの作成方法を教えてください。
  • 子テーブルの数量と親テーブルの数量を足し算した結果を出力するSQL「(親.数量 + 子.数量) as 数量」で、子テーブルデータが存在しない場合に「子.数量」にnullが返ってくる場合、数値だったらという条件で処理をしたいです。
  • DB2のSQLで、特定の条件に応じて処理を行うためには、case文を使用する方法があります。数量が特定の値だった場合にはその値を返し、異なる場合には「0」を返すSQLを作成するにはどのようにすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは。 いや・・・、CASEじゃなくて、 SELECT (親.数量 + COALESCE(子.数量, 0)) as 数量 FROM ~ でいいんじゃないかと・・・。 (^^ゞ

toshi_2004
質問者

お礼

できました!! ホントにありがとうございますm(_ _)m 関数がなにがあるかすらわからない未熟者です。 ありがとうございました。

その他の回答 (1)

回答No.1

こんにちは。 子テーブルの数量が数値だったら・・・。 よりも、 子テーブルの数量がNULLだったら0にして合計する方がすっきりしてると思います・・・。 ほかに理由があるのなら別ですが・・・。 (^^ゞ

toshi_2004
質問者

補足

ご回答ありがとうございます。 すいません。全然理由はないです。。 NULLだったら0にするという方法は case 数量 when ?? then 数量 else 0 end ??の部分が NULL と指定した場合はエラーになってしまいます。 どんな方法があるのでしょうか? ご教授宜しくお願い致します。