会社別一覧表の作り方とクエリの作成方法

このQ&Aのポイント
  • 会社別一覧表を作成する際のデータベースの作り方を教えてください。
  • データベースには、会社の区分と内容の二つの項目が必要です。
  • 目的の表示をするためには、クエリを使用してデータを抽出する必要があります。
回答を見る
  • ベストアンサー

会社別一覧表を作りたい

accessクエリで下記のような表を作りたいのですが、データベースの作り方の基本がわからないので質問させて下さい。    A社 B社 C社 面積 広い 普通 狭い 環境 良い 良い 悪い 人員 多い 少ない 多い 開発力 なし なし あり このような表をクエリで出力させたいと思っています。左の項目はどんどん増えていきます。 このような場合、データベース(テーブル)はどのようにつくるのが基本なのでしょうか。下記のようにすればいいものでしょうか。    区分 内容 A社 面積 広い B社 面積 普通 C社 面積 狭い A社 環境 良い B社 環境 良い C社 環境 悪い #このようにした場合、目的の表示をする場合のクエリなどは、どのようにしたらいいものでしょうか。

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

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

クエリの作り方としては、クロス集計クエリになります。 ただし、普通の作り方としては、「A社」「B社」・・・と「面積」「環境」の軸は入れ替わります。(できなくはないですが・・・) 直接、クエリを作りたければ、例にあげられたテーブルでかまいません。 ただ、正規化(これをきっちりと説明するのは、大変なので、別途探してみてください。)をするなら、少し構造が変わってきます。 まず、会社テーブルをつくり以下のようにします。(主キーは会社ID) 会社ID 社名 1    A社 2    B社 3    C社 あと区分と内容の対比ですがこれを関連づけるとなると区分テーブル、内容テーブルが必要になります。 内容テーブル(主キーは内容ID。内容テーブルは別の振り方もあります。) 内容ID 区分 内容 1    1  広い 2    1  普通 3    1  狭い 4    2  良い 5    2  悪い 区分テーブル(主キーは区分ID) 区分ID 区分 1    面積 2    環境 3    人員 4つ目のテーブルとして、3つのテーブルの関連を結びつけるテーブルを作ります。(これも作り方は、いろいろありますが、1例を挙げます。) 関連テーブル(主キーは会社IDと内容IDの複合主キー) 会社ID 内容ID 1    1 1    4 2    2 2    4 3    3 3    5 ここで会社テーブルの会社IDと関連テーブルの会社ID、区分テーブルの区分IDと内容テーブルの区分ID、内容テーブルの内容IDと関連テーブルの内容IDにリレーションを張ります。 これで正規化されたデータベースができました。利点は、会社・区分・内容が増えたり変更などがあった場合、データベースの変更が一箇所で済み、混乱しないことです。逆に欠点としては、データの検索に時間がかかることです。 あとは、例にあげられているテーブルのように表示するクエリを作るだけです。

関連するQ&A

  • 作った表から一覧表を作成をしたい

    複数店舗の人員管理をしていますが、期日内に仕事が間に合わないので、VBEで解決できる方教えてください。 下記の表を   A C  D   E   F  G  H  I … 1   [   山田   ][   佐藤   ]…  2 日 曜 応援先 入  退 応援先 入  退 … 31/1 火 A店  9:00 19:00 … 41/2 水            B店 9:00 13:00… 51/3 木 C店  9:00 19:00 B店 9:00 18:00…          ・          ・ このタイムカード状のシートから一覧表   A B C   D   E F … 6 日 曜 応援先 氏名 入 退 … 71/1 火 A店   山田 9:00 19:00… 81/2 水  B店  佐藤 9:00 13:00… 91/3 木  C店  山田 9:00 19:00… 101/3 木 B店  佐藤 9:00 18:00… ・         ・ 以前にも似たような質問をしたのですが、 自分ではうまく転記されません。 D1:F1,G1:I1は結合してるのですが、しない方がやりやすいのでしょうか?上の表が見にくかったらすみません。誰か回答お願いします。

  • エクセルで、複数の表から一覧表を作るには?

    エクセル初心者です。 会社で、毎月の経費を、科目/支払先別の表にしているのですが、最新の1年分を一つの一覧表にまとめなければなりません。 毎月の経費の表は、以下のようなイメージです。  A列    B列    C列 消耗品   A社   \○○○         B社   \○○○         C社   \○○○         D社   \○○○ 交通費   E社   \○○○         F社   \○○○… 支払先の会社は、毎月異なり、1月と3月はA社とC社があるが、 2月はB社とD社だけ…という感じです。 毎月作られているこの表を、以下のような一覧表にまとめなおしたいのです。  A列    B列    C列     D列    E列               (1月)   (2月)   (3月) 消耗品   A社   \○○○        \○○○         B社          \○○○              C社   \○○○        \○○○         D社          \○○○ \○○○ 交通費   E社   \○○○              F社   \○○○        \○○○ イメージとしては、A列の勘定科目ごとに、各月の表のB列から重複しないように支払先の会社名を抽出し、それを一覧表の項目として、金額は各月からVLOOKUP?で引っ張ってくる?ということができればいいな、と思っているのですが、どなたかいい方法をご存知の方はいませんか? ちなみに、各月の表はタブで分かれており、今後も毎月アップデートする予定ですので、その都度タブを追加する形になると思います。 使用しているExcelは2003です。 よろしくお願いします。

  • 一覧表を分解する方法を教えてください!!

    こんばんは。 下記のような商品の一覧表をお店ごとに分けるにはどのような関数を用いれば良いのでしょうか? いろいろと考えてみたのですがまったく分かりません… みなさん、宜しくお願いします!! 表(1)     商品A 商品B 商品C 商品D 商品E A店   1         3 B店        5 C店        2          2     2 これを下記のように店舗ごとに分解します。 表(2)     商品A 商品C A店   1   3     商品B B店   5     商品B 商品D 商品E C店   2    2    2 シート1に表(1)のデータをそのまま貼り付けると、シート2の方に表(2)のように表示されるように関数を組みたいです。 宜しくお願いします!!

  • 表から別シートに一覧表を作成したいのですが

    Excel2003にて複数店舗のシフト管理をしているのですが、 初心者のうえ独学で学んだ為全く分かりません。 縦に日付、横に人が並んでいる表といえば分かりますか? A1="日"、A2=1、A3=2… B1="佐藤"、B2="山田"、B3="鈴木" その交点にその人が行く店舗名が表示されている表を作成しています。 日 佐藤 山田 鈴木 1 A店  B店 2 C店      A店 そのデータから、 日付 応援に行く人 応援をもらう店舗 1   佐藤       A店 1   山田       B店 2   佐藤       C店 2   鈴木       A店 の様な表に変換しています。今までは手入力で変換していたため、 ミス等がないかチェックが大変で困っています。 何か良い方法がありましたら教えてください。 質問も初めてで分かりにくい所があるかもしれませんが よろしくお願いします。

  • エクセルの各項目別に合計を計算する表

    エクセルで計算する際に下記のような場合どういう風にすればいいでしょうか?? A 1000 B 2500 A 1200 C 1000 D 2000 C 1500 B 1500 A合計=? B合計=? C合計= D合計=? 上記のような感じで表があるとします。 そのときに【Aの数値だけを足す】【Bの数値だけを足す】というような、表計算式はどうやって作ればよいのでしょうか?? いろいろ探したんですが、わからなくて・・・ 分かりにくい説明かもしれませんがよろしくお願いします

  • 表から条件で抽出して別の表を作る

    いつもお世話になっています。またわからなくなってしまいまして、わかる方がいましたらよろしくお願いいたします。 下記のような表で、例えばB列が『A商店』のデータを抽出して、別の表としてE列以降に新しい表を作るようなことは可能でしょうか? =====  A    B   C D E    F   G りんご A商店 2個  りんご A商店 2個 バナナ A商店 3個  バナナ A商店 3個 りんご B商店 5個  バナナ A商店 5個 みかん C商店 3個  みかん A商店 1個 バナナ A商店 5個 みかん A商店 1個 バナナ C商店 3個 ===== よろしくお願いいたします。

  • 表Aから表Bへのレコード追加 VB2005 SQLServer2005

    表Aに表Bのデータを追加したいのですが。 例えば、以下のようなテーブルがあったとして。 表A (A,B,C,Dとは項目名のこと) A B C D 表B A B C D E F G 表Aに表Bの項目A,B,C,Dのレコードが追加されればいいのですが。 現在は、コードの中にInsert文を書いてレコードの追加をやっているのですが。 テーブルの項目がたくさんある場合に困っています。 Accessだと追加クエリとかで簡単にできると聞いたのですが。 VB2005では簡単に表の追加はないでしょうか? アドバイスなどがいただけたら幸いです。 開発環境 SQL Server 2005 Express Visual Studio 2005 Pro WindowsXP Pro

  • Excel 抽出して別シートを作る方法

    Excelで下記のようなデータ表(1000件程度)があります。 社名 年代 値段 A社 2005 10000  B社 2005 5000 C社 2005 3000   D社 2005 20000 A社 2006 20000 C社 2006 3000 ・ ・ 社名  年代    2004 2005 2006 A社 0 10000 20000 B社 0 5000 0 C社 0 3000 3000 D社 0 20000 0 会社毎の年代別の値段表に作り替えたいのですが、どのように処理すれば出来ますでしょうか? 宜しくお願い致します。

  • ●貸借対照表の合算について:貸者と借者同士の合算

    ●下記AとBの貸借対照表を合算した場合、Cになると思います。 A ┌──┬───┐ │    │ 200 │ │20 ├───┤ │    │ -180 │ └──┴───┘ B ┌──┬───┐ │  │ 100 │ │230 ├───┤ │  │ 130 │ └──┴───┘ C ┌──┬───┐ │  │ 300 │ │250 ├───┤ │  │ -50 │ └──┴───┘ ●上記の例に、一つだけ条件を付け合算すると、どうなりますか? 条件:Aの負債200は、実はBからのものである つまり、Bの資産230の内、200だけはAへの長期貸付金である この状態のA社とB社が合併した際の貸借対照表を教えて下さい。

  • 列視点ではなく、行視点での検索をしたい。

     1/1 1/2 1/3 A社 a b b B社 b b b C社 b b a といったMySQLでのデータベースがあるとして、 「aが一回でもある場合は表示したくない」と思った場合、 PHP等で全件取得してからaを探す方法ではなく、SQLクエリとして何かコマンドはあるのでしょうか?