テーブルの結合? †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | Hiroshi |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2011-02-15 12:57:48 (火) |
OS | Windows 7 |
依存するページ | |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
まだ使い始めたばかりの初心者です。
1つのテーブルに製品別月別売上数実績(フィールド;製品名、売上月、売上数
1つのテーブルに製品別月別予測数(フィールド;製品名、予測月、予測数)を作成しました。
実績から予測までの数の月別推移を見れるようにしたいと思っています。
クエリーのリレーションをつかうのかなといろいろ試しました、うまくいきません。恐縮ですがどうすればいいのかお教えください。
Database Application初心者ですが・・・ †
new_OOo3 (2011-02-15 19:57:15 (火))
こんばんは。
最初に質問内容の確認をさせて下さい。
以下の2つのTableから
下図の様にDataを「縦に」結合したいとと言う事ですか?
上記と言う事ならば「UNION」を使う必要があります。
但し、「UNION」はQueryの知識だけでなくSQLの知識が必要です。
「UNION」についてはMS-ACCESSでも直接SQLを記述する必要があります。
詳しくは以下のQAに詳しく記してあります。
URL: http://oooug.jp/faq/index.php?faq/4/929
つまり、Queryのデザイン画面では無くSQLを直接記述して「SQLコマンドを直接実行」ButtunをClickします。
SQLとしては多分********************* SELECT "ID", "製品名", "売上月", "売上数" FROM "QATable" WHERE "製品名" = 'A' UNION SELECT "ID", "製品名", "予測月" AS "売上月", "予測数" AS "売上数" FROM "QATable2" WHERE "製品名" = 'A' ORDER BY "売上月" *****************************で良いと思います。
但し、本SQLの保存方法については当方も初心者の為に判りません。
他の方々のお知恵を拝借させて頂ければ幸いです。
無題 †
Hiroshi (2011-02-15 22:00:53 (火))
お忙しい中、返信ありがとうございます。
したかったのは将にサンプルとして作成表示して頂いた「縦に」結合したものです。
SQLというのは聞いたことがありますが、使ったことが無いので(データベースは素人です)わかりませんでしたが、
作成していただいた式を
SQL表示で編集というところに入れてフィールド名等を直したらできました。
ただ、これですと"製品名"='A'というところを製品名毎に変えて作成しなければなりません。
作成したいデータベースの製品名にあたるものが100個ほどあり、随時増えていきます。(月に5〜10製品)。
現在100個ほどなので、式をコピーして出来なくはなさそうですが、製品が増えたときにこのSQLを追加し忘れなどしないように、もう少しなんとかなりませんでしょうか?
WHERE句を付けない †
M.Kamataki (2011-02-17 22:33:45 (木))
製品別、月別の順に数の推移を見たいのであれば、WHERE句を付けないでも良いのではないでしょうか。new_OOo3さんの例なら、以下のようなSQLはどうでしょうか。SELECT "ID", "製品名", "売上月", "売上数" FROM "QATable" UNION SELECT "ID", "製品名", "予測月" AS "売上月", "予測数" AS "売上数" FROM "QATable2" ORDER BY "製品名", "売上月"製品別に調べたい場合は、このSQLで保存したクエリーを対象に絞り込めば良いと思います。
無題 †
Hiroshi (2011-02-18 22:45:51 (金))
できました。
ありがとうございました。
これからもいろいろ挑戦していきますので、どうぞよろしくお願いいたします。
完了にします †
M.Kamataki (2011-02-22 10:59:16 (火))
コメントありがとうございました。