アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の様なテーブルA、Bあり、実行結果の内容をCSVファイルとして得たいのですが、どの様なDOSのバッチ(SQL)を組めばよろしいでしょうか。ご教示の程よろしくお願い致します。尚、テーブルAの名称は下6桁は西暦年月となっており毎月名称が変わります。
理想としてはDOSプロンプトで バッチ名 西暦年月 を実行することにより結果を得る形が望ましいです



テーブルA( A201209、A201210、・・・・・・)
                   ↑
          ↑     9月にA201209というテーブルが生成されます。
         9月にA201209というテーブルが生成されます。

●テーブルAの内容

項目1    項目2  人数
001            3
001     00A    5
001     00A    2
001     00B    1
001     00C    4
002     00D    5
002     00D    3
002     00E    1
003            5 

●テーブルBの内容

項目1    名称
00A     名称1
00B     名称2
00C     名称3
00D     名称4
00E     名称5


●実行結果

項目1    名称   人数
001            3
001     名称1   7
001     名称2   1
001     名称3   4
002     名称4   8
002     名称5   1
003            5 
  

A 回答 (3件)

失礼、質問をよくみていませんでした。


項目1,名称で人数を集計していたんですね。

集計するにはGROUP BY句が必要です。

SELECT テーブルA.項目1, テーブルB.名称, SUM(テーブルA.人数)
FROM テーブルA LEFT JOIN テーブルB ON テーブルA.項目2=テーブルB.項目1
GROUP BY テーブルA.項目1, テーブルB.名称
    • good
    • 0
この回答へのお礼

お手数をお掛けいたしました。ありがとうございました。

お礼日時:2012/10/22 07:08

SQL文だけ。



SELECT テーブルA.項目1, テーブルB.名称, テーブルA.人数
FROM テーブルA LEFT JOIN テーブルB ON テーブルA.項目2=テーブルB.項目1



ところで、タイトルの「人数サマリの方法について」とは何のことなんでしょう?

この回答への補足

>ところで、タイトルの「人数サマリの方法について」とは何のことなんでしょう?

タイトルに対して本文の内容が合致しておりませんでしたが、テーブルAとテーブルBをもとに項目1、名称に対応した人数把握したがために同タイトルをつけました、
SQL文の教示ありがとうございました。 教示頂きましたSQLの’テーブルA.人数’をSUM(テーブルA.人数)にすれば同結果は求められますでしょうか。

補足日時:2012/10/21 10:08
    • good
    • 0

WindowsコマンドプロンプトのバッチコマンドはSQLとはまったく異なる文法ですし,質問者がどんなデータベース製品をお使いになっているのかも分かりません。



今回のようなご質問が出てくるということは,
類似の作業,例えば,テーブルAそのままの内容をCSVファイルとして得るなどのことならバッチコマンドで実現できているということでしょうか。
そうであるならそのバッチコマンドの内容を提示していただきたいです。
    • good
    • 0
この回答へのお礼

ありがとうございます。ご指摘の件ごもっともだと思います。バッチは実現できておりませんので当結果を得るSQL(ORACLE)につきましてご教示頂けましたら助かります。何卒よろしくお願い致します。

お礼日時:2012/10/20 23:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!