プロが教えるわが家の防犯対策術!

同一テーブル内に1位、2位、3位の名前が入っているフィールドがあります。
※名前に紐づくに一意のコードもあります。

テーブル例
[キー項目] , [1位] , [2位] , [3位]
202201001, 生徒E , 生徒B , 生徒 H
202202001, 生徒D , 生徒B , 生徒 J
202203001, 生徒B , 生徒E , 生徒 H
202204001, 生徒C , 生徒J , 生徒 Z
202205001, 生徒B , 生徒J , 生徒 A

月毎の集計なので、1位、2位、3位は入れ替わりますが、割と同じ人が名を連ねる為
これを1位~3位内に入っていればカウントアップし、結果を表示したいのですが
テーブルの結合方法や関数が見当もつかない為、ご教授頂けないでしょうか。

※テーブル設計から失敗してるとは思いますが、変更できない前提でよろしくお願い致します。

欲しい結果

[生徒名],[カウント]
生徒A,1
生徒B,4
生徒C,1
生徒D,1
生徒E,2
生徒H,2
生徒J,3
生徒Z,1

試しに1位だけの集計クエリ、2位だけの集計クエリ、3位だけの集計クエリを作ったのですが
それをまた別のクエリで合算しようとしてもクエリの結合方法が分からず上手くいかず
行き詰っております。

A 回答 (1件)

1位のみのクエリ(select [1位])と2位、3位のクエリをunion allしたデータを集計するとか。


https://docs.microsoft.com/ja-jp/office/client-d …
「Access クエリ 同一テーブル内 複」の回答画像1
    • good
    • 1
この回答へのお礼

回答ありがとうございます!

リンク先のUNION操作の説明にGROUP BYやカウントについて書かれていなかったので理解して完成させるまでかなり時間がかかりましたが、完成してみれば、osamuyさんが親切に載せてくれた画像のSQL文と同じものになりました。

質問通りのデータ作成から、SQL文まで作って頂き、本当にありがとうございました!!!

お礼日時:2022/05/19 22:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています