• ベストアンサー

Accessのテーブル作成について

現在Access2003でテーブルを下記のように作成しています。 下記のような問題があり、テーブルをどのように再編成 (正規化?してテーブルを分けるなど)すれば、うまくいくか よいお知恵を拝借したくお願いいたします。 (1)各参加者毎に単純にレースへ参加した回数をカウントしたい。 (参加した回数によって、記念品を授与する。) しかし、横のカウントが困難である。 (2)将来フィールドが足りなくなる。 氏名 (95'レースa) (95'レースb)(96'レースa)(96'レースc)・・・・ AA     1       1      1       1 BB     3       3      3       不出場 CC     4      不出場   不出場    2    DD     2       1      2       4   EE     5       4      4       3   ・     ・  ・ 数字はレースの順位を入力しています。 レースは、毎年行われるものもあれば、何年かに1度周期的に行われるものがあります。 参加者は固定していて2000人位いるが、レースによっては不参加の者もいます。レースは年間5レースくらいあります。

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

こんにちは。 こんな感じで、如何でしょうか。 <レーステーブル> レースコード レース名 01   レースa 02   レースb 03   レースc 04   レースd 05   レースe <レーザーテーブル> レーザーコード レーザー氏名 0001   AA 0002   BB 0003   CC 0004   DD 0005   EE ・ ・ <出場テーブル> 年度 レースコード レーザーコード 順位 1995  01   0001   1 1995  01   0002   3 1995  01   0003   4 1995  01   0004   2 1995  01   0005   5 1995  02   0001   1 1995  02   0002   3 1995  02   0004   1 1995  02   0005   4 1996  01   0001   1 1996  01   0002   3 1996  01   0004   2 1996  01   0005   4 1996  03   0001   1 1996  03   0003   2 1996  03   0004   4 1996  03   0005   3 ・ ・ >レースへ参加した回数をカウント SELECT レーザコード,COUNT(レーザコード) FROM 出場テーブル GROUP BY レーザコード

hyoukain
質問者

お礼

とても参考になりました。 おかげで、今日は残業しなくてすみそうです。 ありがとうございました。

その他の回答 (1)

  • ryusei2
  • ベストアンサー率24% (45/184)
回答No.1

レーステーブル レースNo. レース名 1 (95'レースa) 2 (95'レースb) 3 (96'レースa) 4 (96'レースc) レーサーテーブル No. 名前 1 AA 2 BB 3 CC 4 DD 出場テーブル No. レーサー レース 1 1 2 2 2 2 3 3 2 4 1 3

hyoukain
質問者

お礼

とてもすばやいご回答、ありがとうございました。 とても参考になりました。

関連するQ&A