• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessで最小値と最大値を一度で取得する方法)

Accessで最小値と最大値を一度で取得する方法

このQ&Aのポイント
  • Accessで最小値と最大値を一度で取得する方法について、OS:WinXP、Access:2000での操作方法について質問です。
  • 質問の内容は、テーブル(tblA)からID、Name、Dateのデータを抽出し、MIN(Date)とMAX(Date)を同時に取得する方法についてです。
  • 具体的な出力は、クエリ実行後にID、MIN(Name)、MIN(Date)、MAX(Date)が出力されることを期待しています。

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

  • ベストアンサー
noname#182251
noname#182251
回答No.3

#1です。なるほどそうなると VIEW(クエリー)を二つ作って CREATE VIEW v1 as SELECT テーブル1.ID, Min(テーブル1.date) AS dateの最小 FROM テーブル1 GROUP BY テーブル1.ID; CREATE VIEW v1 as SELECT テーブル1.ID, Max(テーブル1.date) AS dateの最大 FROM テーブル1 GROUP BY テーブル1.ID; SELECT テーブル1.ID, テーブル1.name, テーブル1.date, v1.dateの最大 FROM テーブル1 INNER JOIN (v1 INNER JOIN v2 ON v1.ID = v2.ID) ON テーブル1.date = v1.dateの最小; 位しか考えつかないです(^^;

poripori2
質問者

お礼

なんどもご回答ありがとうございました。 上記を参考に最小日付をもつのviewと最大日付をもつviewを作成し、結合した新たなviewを作成することで解決致しました。 Inner Join!!思いつきも致しませんでした。 最後までお付き合いくださりありがとうございました。

その他の回答 (2)

noname#182251
noname#182251
回答No.2

#1です。質問を良く読まずに失礼しました(^^;あらため SELECT テーブル1.ID, テーブル1.name, (SELECT DISTINCT Max(テーブル1.date) FROM テーブル1) FROM テーブル1 WHERE (((テーブル1.date)=(SELECT DISTINCT Min(テーブル1.date) FROM テーブル1))); でいかがでしょう? 試験用に作ったテーブル1には ・ID:PKey ・name ・date があります

poripori2
質問者

お礼

お早いご回答ありがとうございます。 上記回答ですと、検索結果として、 ID|最小dateの名前|最大Date となると思いますが、私がやりたいことは ID|最小dateの名前|最小date|最大Date           ==== です。 また、IDは1つではなく、1,2,3・・・と複数です。 これは、GroupBy句で指定してあげるといいのでしょうが、そうするとnameもgroupby句にいれなくてはいけないので、やろうとしていることができません。 (IDとnameでグルーピングした最小、最大を抽出したいのではなく、IDでグルーピングして最小日付のname、最小日付、最大日付を抽出したいのです。) 説明不足で申し訳ありません。

noname#182251
noname#182251
回答No.1

SELECT DISTINCT Max(ID) AS IDの最大, Min(ID) AS IDの最小 FROM Tbl; みたいなのでは?

poripori2
質問者

お礼

Dateが最小のNameとDate、同じIDの最大のDateを抽出したいので、 頂いた回答だとDateが最小のNameが抽出されません。 ご回答ありがとうございました。

関連するQ&A