Oracle8,9で取得したデータを結合するには?Oracleで取ったデータをExcelに出力するには?
こんにちは。PRGで行き詰まってしまい皆様のお知恵を借りたいと思い投稿しました。
まだOracle初心者のへっぽこシステム管理ですが、お上よりDB(Oracel)からある条件でデータを取って来て
Excelに出力してほしいと頼まれました・・
生産実績管理サーバー(Oracel9)の実績テーブルには、
生産日|工場No.|商品名|機械No.|生産数|
4/1|100|ケーキ|A|100|
4/1|100|ケーキ|A|120|
4/1|100|チョコ|A|150|
生産計画目標サーバー(Oracel8)の計画目標テーブルには、
機械で出来る計画能力が入っております
工場No.|商品名|機械No.|計画生産数|
100|ケーキ|A|150|
100|チョコ|A|150|
上記のテーブルのデータをVBでoo4oで接続して、Excelに出力したのです。
Excelへの完成一覧表は、条件で生産日を4/1で、工場を100で、
商品名|機械No.|生産数|計画生産数|
ケーキ|A|220|150|
チョコ|A|150|150|
にしたいのです。
【VB】
Set oraSes = CreateObject("OracleInProcServer.XOraSession")
Set ora9 = oraSes.OpenDatabase("実績","実績/実績”,0&)
Set ora8 = oraSes.OpenDatabase("計画","計画/計画”,0&)
strSQL1 = "select 商品名,機械No.,Sum(生産数) from 実績 " & _
"where 生産日='4/1' and 工場名='100' "
"group by 商品名,機械No. order by 商品名,機械No."
Set oraDs9 = ora9.DbCreateDynaset(strSQL1,4&)
strSQL2 ="select * from 計画目標"
Set oraDs8 = ora8.DbCreateDynaset(strSQL2,4&)
Excel起動(省略)
Excelに書き込む・・・・
これが現在までのPRGなのですが、oraDs9で取得して来た商品名と機械No.をKeyにして
Oracel8の計画目標テーブルから計画生産数を取得、それを結合して、一気にExcelに書き出したいのです。
oraDs9の商品名と機械No.を配列変数に入れて、Doでora8へSQL文を回すようなやりかたはあまりしたくないのです。
Oracleで一気に検索して、上記の欲しい一覧表を取得できたら最高なのですが・・・・
またExcelに書き出す方法は、ExcelでoraDs8をDo~Loopで書き出していくしか無いのでしょうか?
書き出すサンプルソース・参考になるようなものがありましたら教えて下さい。
もしOracelで、一気にExcelに書き出せる方法がありましたら教えて下さい。
色々と聞いてしまって申し訳ございませんが、何卒宜しくお願いします。
お礼
ありがとうございました。 DBMS_SQLの作法でちょっと苦労しましたが、大変助かりました。 また、今度も助けてください。