![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?8acaa2e)
マイクロソフトのアクセスを使って、
複数テーブルから抽出と結合をする方法について教えてください。
各生徒の履修科目が表になっています。例えば
数学を履修してる生徒
1 山田太郎
2 加藤次郎
3 足立花子
:
国語を履修している生徒
1 山田太郎
2 足立花子
3 東京三郎
:
理科を履修している生徒
1 京都太郎
2 足立花子
:
これらの表から生後ごとの履修科目の一覧表を作成するにはどうするのでしょうか?
つまり結果として
1 山田太郎 数学、国語
2 加藤次郎 数学
3 足立花子 数学、国語、理科
:
の感じで生徒が履修している科目を表にしたいのです。
ずっと悩み続けているのですが、まったく手も足も出ない状態です。
どなたかお助けください。お願いします。
No.4ベストアンサー
- 回答日時:
テーブルがデータベースのテーブルになっていないですね
生徒と履修科目というのは典型的な多対多の関係です
で、多対多の関係のテーブル構造は
[生徒マスタ](生徒CD、生徒名、入学年度、生年月日、性別、・・・)
[科目マスタ](科目CD、科目名、単位、・・・)
[履修状況](生徒CD、科目CD)
のような3つのテーブルで表します
このようになっていればお望みの一覧表も簡単に出すことができます
(もっといろんなことができます)
Accessを使い続けていかれるつもりなら
このようなテーブルに作りかえることをお勧めします
No.3
- 回答日時:
dlookupやdcount、iif等の関数を使えば1つのクエリで変換可能だと思います。
例:
各テーブルを「数学」「国語」「理科」と仮定します。
恐らく別に名列表があると思いますので、「名列表」とします。
SELECT 名列表.番号, 名列表.名前,
iif(dcount("*","数学","名前=""" & 名列表.名前 & """")=0,Null,"数学") as 数学,
iif(dcount("*","国語","名前=""" & 名列表.名前 & """")=0,Null,"国語") as 国語,
iif(dcount("*","理科","名前=""" & 名列表.名前 & """")=0,Null,"理科") as 理科
FROM 名列表
No.2
- 回答日時:
データを、
山田太郎,数学
加藤次郎,数学
足立花子,数学
山田太郎,国語
足立花子,国語
東京三郎,国語
京都太郎,理科
足立花子,理科
:
のようにできれば、3表(テーブル)を1ツのテーブルにし、
データを並べ替え、
山田太郎,数学
山田太郎,国語
加藤次郎,数学
足立花子,数学
足立花子,国語
:
のような感じまで、もっていければ、
> つまり結果として
まで、いけますがどうでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- 日本語 ご添削をお願いいたします。 *I大学人文社会科学系事務部 教務課(文学部・人文科学府担当)ご担当先 4 2022/04/18 12:39
- MySQL 【MySQL】本当に困っているので、助けてください。よろしくお願いします。 3 2023/06/03 14:24
- Excel(エクセル) エクセル 関数 指定の繰り返しの回数 以降(以前)を削除するには、 2 2022/04/24 10:29
- 大学院 大学留年の危機 重複履修について 4 2022/09/14 23:10
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- 政治 誰推しですか?東大率高めですけど 岸田文雄→早稲田大学法学部 山口那津男→東京大学法学部 泉健太→立 4 2022/07/04 03:14
- 学校 大学1年生です。 今日履修登録の抽選結果があり合計48単位履修していたのですが外れまくって38単位に 2 2023/04/08 15:23
- その他(悩み相談・人生相談) 大学の履修登録でキャンパスプランというものを使っているのですがエラーになってしまいます。 後期の必修 1 2022/04/05 20:01
- 教育・学術・研究 大学教授の質 7 2023/07/12 10:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レコードを追加できませ...
-
ACCESS 複数テーブル・複数フィ...
-
検索結果の列数を動的に変更したい
-
INSERT文で発行したオートナン...
-
【Access】外部結合を行う前に...
-
複数テーブルをひとつのテーブ...
-
列が255以上のCSVファイルをAcc...
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
postgreSQLのint型は桁数指定が...
-
datapumpの実行方法について
-
Viewにインデックスは張れ...
-
truncate文で全テーブルを一気...
-
SQL*Loaderで、データを加工し...
-
CLOB型へのINSERT
-
異なるスキーマからデータを抽...
-
db2にて数値を3桁文字にて出力...
-
INDEX 見積もりについて
-
DELETE文でFROM句を省略した場合
-
SQL文作成のお願い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レコードを追加できませ...
-
ACCESS 複数テーブル・複数フィ...
-
検索結果の列数を動的に変更したい
-
【Access】外部結合を行う前に...
-
INSERT文で発行したオートナン...
-
列が255以上のCSVファイルをAcc...
-
AccessのInsertクエリのあとつ...
-
コンボボックスの2段階絞込み
-
複数テーブルをひとつのテーブ...
-
ACCESSでの文字列の比較
-
売価変更がある商品の売上金額
-
お知恵をお貸しください。
-
複数あるAccessのテーブルを一...
-
Access2002 マスタテーブル変更...
-
Accessのテーブル内の文字の置...
-
検索フォームで検索するものが...
-
Access2000での複合検索について
-
AS/400のDBについて
-
複数テーブルからの抽出と結合...
-
データベースの正規化について
おすすめ情報