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

VBAでSQLでデータベースから指定範囲内のデータを取得する方法

このQ&Aのポイント
  • VBAとSQLを使って、Oracleデータベースから指定範囲内のデータを取得する方法について教えてください。
  • データベースから取得したデータをエクセルに吐き出すときに、範囲内の数字がない場合には0と表示する方法についても教えてください。
  • また、データベースのテーブルの結合時に、decodeやRIGHT JOINを使用する方法についても教えてください。

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

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

こんにちは。 SELECT C.日付, M.個数(カラム名がわかりません・・・) FROM (SELECT TO_DATE(開始日,'yyyymmdd') + COUNTER - 1 AS 日付 FROM (SELECT 20100701 AS 開始日, 20100731 AS 終了日 FROM DUAL) A, (SELECT ROWNUM AS COUNTER FROM ALL_CATALOG) B WHERE B.COUNTER <= 終了日 - 開始日 + 1) C LEFT OUTER JOIN データ(これはテーブル名?) M ON(M.hanbai_dt = C.日付) ORDER BY 日付 とかでどうですかね? (ALL_CATALOGは便宜上です・・・) ちょっと今、Oracleが手元にないんで、動かんかったら言ってください・・・。 (エラーの箇所を教えてね)

okwave1322
質問者

お礼

ありがとうございます。 試してみます

その他の回答 (2)

回答No.2

こんにちは。 日付の連番だけを持った、下記のようなテーブルがありますか? または作成しますか? 20100701 20100702 : 20100731 これだと単純に外部結合でおしまいです。 これがないと、ちょっと複雑になりますが、どっちがいいですか?

okwave1322
質問者

お礼

返事ありがとうございます。 日付の連番のテーブルはありません。作成もしないで作ろうと思っていました。

回答No.1

こんにちは。 ちょっとわかりませんが、 20100725 20100726 20100727 20100728 は、いらないんですか?

okwave1322
質問者

お礼

ほしいです

関連するQ&A