• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSクエリーについて(条件抽出等2))

SQLで条件抽出するためのACCESSクエリーについて

このQ&Aのポイント
  • 以下のACCCESSテーブルデータに対して、IDがかぶっている場合は1行とし、直近利用日、利用回数、利用金額、経過日数の条件でクエリー抽出したいです。
  • 経過日数の計算には、クエリー実行時に入力される日付を使用します。
  • また、テーブルに他の列がある場合は基本的に全列を表示させるようにします。

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

  • ベストアンサー
回答No.2

クエリで書くと、こう。 SELECT テーブル.ID, Max(テーブル.利用日) AS 直近利用日, Max(テーブル.利用回数) AS 利用回数, Sum(テーブル.利用金額) AS 利用金額合計, Min(DateDiff("d",[利用日],DateValue([yyyymmdd]))) AS 経過日数 FROM テーブル GROUP BY テーブル.ID; パラメータのyyyymmddには「2013/12/10」のように、区切り記号付きの日付を入力。

jordan232011
質問者

お礼

丁寧に本当にありがとうございます。両方とも試します。

jordan232011
質問者

補足

●●● 確認!! ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ありがとうございます。エクセルで日付-日付でみると、1日多いのですが、これはエクセルが誤りでしょうか。 例 クエリー: 2014/09/27でパラメーターを指定  2014/05/13 が直近日付 = 137 例 エクセル: 2014/09/27とセルに入力 そこから右記のセルを引く 2014/05/13 が直近日付 = 136 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

その他の回答 (1)

回答No.1

集計クエリにして ・ID グループ化 ・直近利用日 利用日の最大値 ・利用回数・・・同一ID行数で判断 利用回数の最大値 ・利用金額・・・累積額 利用金額の合計 ・経過日数・・・yyyymmdd - 直近利用日 「yyyymmdd - 直近利用日」の式の結果の最小値 にすれば良いだけです。

jordan232011
質問者

お礼

ありがとうございます。SQLよりこちらの方がおすすめですか。

関連するQ&A