- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでSQL)
VBAでSQLでデータベースから指定範囲内のデータを取得する方法
このQ&Aのポイント
- VBAとSQLを使って、Oracleデータベースから指定範囲内のデータを取得する方法について教えてください。
- データベースから取得したデータをエクセルに吐き出すときに、範囲内の数字がない場合には0と表示する方法についても教えてください。
- また、データベースのテーブルの結合時に、decodeやRIGHT JOINを使用する方法についても教えてください。
- みんなの回答 (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が手元にないんで、動かんかったら言ってください・・・。 (エラーの箇所を教えてね)
その他の回答 (2)
- taka451213
- ベストアンサー率47% (436/922)
回答No.2
こんにちは。 日付の連番だけを持った、下記のようなテーブルがありますか? または作成しますか? 20100701 20100702 : 20100731 これだと単純に外部結合でおしまいです。 これがないと、ちょっと複雑になりますが、どっちがいいですか?
質問者
お礼
返事ありがとうございます。 日付の連番のテーブルはありません。作成もしないで作ろうと思っていました。
- taka451213
- ベストアンサー率47% (436/922)
回答No.1
こんにちは。 ちょっとわかりませんが、 20100725 20100726 20100727 20100728 は、いらないんですか?
質問者
お礼
ほしいです
お礼
ありがとうございます。 試してみます