• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:会社別一覧表を作りたい)

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

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

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

  • ベストアンサー
  • 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