こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessのクエリで最小値の別のフィールドを表示する方法

Accessの初心者です。
以下のようなテーブルがあったとして、

ID 日付   チーム  氏名 点数
1 2008/11/1 チームA 田中 58点
2 2008/11/2 チームB 中村 62点
3 2008/11/4 チームK 村中 48点
4 2008/11/5 チームA 中田 59点

クエリで、チームの最高得点を集計(最大)で出します。
チーム 最高点
チームA 59点
チームB 62点
チームK 48点

そのとき、クエリの別のフィールドで最高点を出した日と、出した人間を表示するために、どのようにすればよいでしょうか。SQLを使用すればうまくいくでしょうか。

初心者はなはだしいのでざっくりとしすぎかもしれませんが、よろしくお願いします。

投稿日時 - 2008-11-08 00:28:48

QNo.4461661

暇なときに回答ください

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

得点のテーブルを[得点]であるとします。
最高得点のクエリを保存して、これを
[最高得点]とします。

クエリデザイナで[得点]、[最高得点]
を[チーム]=[チーム]かつ[点数]=[最高点]
で結合すれば、お望みの結果が得られるかと。

SQL一発でやるならこんな感じ。

select
t.[日付],t.[氏名],
MAXV.[チーム],MAXV.[最高点]
from [得点.csv] as t
inner join
(select
[チーム],max([点数]) as 最高点
from
[得点.csv]
group by [チーム]
) as MAXV
on t.[チーム] = MAXV.[チーム]
and t.[点数] = MAXV.[最高点]
order by MAXV.[チーム]

投稿日時 - 2008-11-08 01:00:04

お礼

クエリデザインでの結合という観点が欠落しておりました。
おかげさまでうまくいきました。ありがとうございます。

投稿日時 - 2008-11-08 13:41:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問