• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:グループ化データの割り算について)

グループ化データの割り算について

このQ&Aのポイント
  • SQL文で「0 除算エラーが発生しました。」が出ています。困っています。アドバイスお願いします。
  • SQL文で遅延率を計算するために、期間内の入荷数を全体数で割っていますが、COUNT関数でもうまく行きません。何か良い方法がありますか?
  • 個々のデータは取得できますが、割り算を行う際に「0 除算エラーが発生しました」というエラーが出ています。解決方法を教えてください。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

ワンクッション入れて、全体数がゼロだった場合に遅延率を0かNULLにすれば いいのではないでしょうか。 SELECT CASE WHEN 全体計=0 THEN NULL ELSE 未入荷計/全体計*100 END AS '遅延率(%)' FROM (SELECT COUNT(CASE WHEN CONVERT(CHAR(10), 納期, 111) = GETDATE() AND 入荷数 = 0 THEN 0 ELSE NULL END) AS 未入荷計, COUNT(CASE WHEN CONVERT(char(10), 納期, 111) = GETDATE() THEN 0 ELSE NULL END) AS 全体計 FROM ...

AS400VBNET
質問者

お礼

ありがとう御座います解決しました。 除算をする場合にデータ/0の場合にエラーになるようです。実データでその条件が出なければOKだと思っていました。 それを回避するようにCASE文を入れました。 参考になりました。

すると、全ての回答が全文表示されます。

関連するQ&A