- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DB2のSQLについて)
DB2のSQLについての質問
このQ&Aのポイント
- DB2のSQLについて質問があります。数量という項目が数値だった場合にそのまま数量の値を、違った場合には「0」を返すSQLの作成方法を教えてください。
- 子テーブルの数量と親テーブルの数量を足し算した結果を出力するSQL「(親.数量 + 子.数量) as 数量」で、子テーブルデータが存在しない場合に「子.数量」にnullが返ってくる場合、数値だったらという条件で処理をしたいです。
- DB2のSQLで、特定の条件に応じて処理を行うためには、case文を使用する方法があります。数量が特定の値だった場合にはその値を返し、異なる場合には「0」を返すSQLを作成するにはどのようにすればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 いや・・・、CASEじゃなくて、 SELECT (親.数量 + COALESCE(子.数量, 0)) as 数量 FROM ~ でいいんじゃないかと・・・。 (^^ゞ
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
回答No.1
こんにちは。 子テーブルの数量が数値だったら・・・。 よりも、 子テーブルの数量がNULLだったら0にして合計する方がすっきりしてると思います・・・。 ほかに理由があるのなら別ですが・・・。 (^^ゞ
質問者
補足
ご回答ありがとうございます。 すいません。全然理由はないです。。 NULLだったら0にするという方法は case 数量 when ?? then 数量 else 0 end ??の部分が NULL と指定した場合はエラーになってしまいます。 どんな方法があるのでしょうか? ご教授宜しくお願い致します。
お礼
できました!! ホントにありがとうございますm(_ _)m 関数がなにがあるかすらわからない未熟者です。 ありがとうございました。