社員ID/交通費/登録日 のフィールドがあるテーブルがあります。
社員ID/交通費/登録日
0001 800 2007/4/1
0002 400 2007/4/2
・
・
0001 700 2007/5/2
となった場合、0001の人は700円と言う風に登録日が最新のものを抽出したいのですが
クエリをつくり登録日の集計を「最大」にしてみたら、日付は5/2がちゃんと出ますが、金額がその登録日以外の金額になるのです。
どうすればよいでしょうか?
分かる方教えて下さい。宜しくお願いします。
No.1
- 回答日時:
理屈の上では
1.選択クエリーの作成 社員idと登録日でsortのため
2.上記クエリーを入力としての 集計クエリーを作成
ここでは、グループ用項目は 社員id
交通費のところは 「最後のレコード」とする
でできるはずです
しかし、ACCESSの集計クエリーは、実際には
自分では想定しないような結果を出すことが多くあります
わたしは、バグなのではないかと思っているので
上記のクエリーで、うまく結果が出ない可能性があります
そのときはごめんなさいです
No.3
- 回答日時:
<TEST>
ID___社員ID___交通費___登録日
1____101___________\100___2007/01/01
2____102___________\200___2007/02/02
3____101___________\300___2007/03/03
4____102___________\110___2007/04/04
5____101___________\220___2007/05/05
<クエリ1>
4____102___________\110___2007/04/04
5____101___________\220___2007/05/05
一番簡単なのは、その行の[社員ID]のMAX(登録日)と一致する[登録日]の行を SELECT すること。
SELECT *
FROM TEST
WHERE 登録日=DLookup("MAX(登録日)","TEST","社員ID=" & 社員ID);
もちろん、DLookup 関数の部分を SQL文で書くことも可能です。
×
SELECT *
FROM TEST
WHERE 登録日=(SELECT MAX(登録日) FROM TEST WHERE 社員ID=社員ID);
○
SELECT *
FROM TEST AS A
WHERE 登録日=(SELECT MAX(登録日) FROM TEST AS B WHERE A.社員ID=B.社員ID);
単にDLookup 関数の部分をSQL文にしても正しい結果は得られません。
その行の[社員ID]を、A.社員ID で表現する工夫。
最大値の検索対象としての[社員ID]を、B.社員ID で表現する工夫。
などが必要となります。
回答ありがとうございます。
ですがSQLは私にはちょっと難しい回答だったので、解決できませんでした・・
いつも丁寧に回答くださりありがとうございます。
No.4ベストアンサー
- 回答日時:
SQL文とクエリは同じです。
フィールド:登録日
テーブル:TEST
並び替え:
表示:
抽出条件:DLOOKUP("MAX(登録日)","TEST","社員ID=" & 社員ID);
または:
フィールド:登録日
テーブル:TEST
並び替え:
表示:
抽出条件:(SELECT MAX(登録日) FROM TEST AS B WHERE TEST.社員ID=B.社員ID)
または:
このように、クエリを編集すれば良いということです。
ですから、事実上は、"TEST" だけを実際のテーブル名、クエリ名に置き換えるだけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 確定申告 確定申告について 3 2023/03/05 21:34
- 派遣社員・契約社員 派遣会社って学生のことを舐めてませんか? 5 2022/12/26 21:40
- その他(お金・保険・資産運用) 助けてください... 明日友達と急遽、旅行に行くことになり アゴダでホテルを予約したのですが 友達と 4 2023/06/16 15:54
- 消費税 適格請求書発行事業者の登録・消費税申告について 7 2023/05/20 11:54
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- 個人事業主・自営業・フリーランス インボイス制度は、クライアントごとに請求書を分ける事はできますか? 6 2023/04/03 14:22
- ポイントサービス・マイル ポンタポイントの登録の仕方を教えてください 1 2023/01/19 22:56
- gooブログ Blogの使い方(ブログ・ユーザ設定について) 1 2022/04/23 12:40
- 新幹線 スマートEX交通系ICカード複数登録方法を教えて下さい 1 2022/12/27 22:58
- MySQL SQLで日付別のIDを生成するには 3 2022/10/09 10:34
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
最新日のデータのみ抽出するクエリを教えて下さい
Access(アクセス)
-
最新の日付とその金額をクエリー抽出したい(access)
その他(データベース)
-
-
4
AccessのDMax関数の複数条件式に関して
Access(アクセス)
-
5
ACCESS 重複データを1つだけ表示したい(初心者です)
Access(アクセス)
-
6
Accessで最新のレコードを抽出するには
その他(データベース)
-
7
日付の最大値を求めるには
その他(データベース)
-
8
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
9
Access サブフォームでの選択行の取得
その他(データベース)
-
10
あるフィールドの最大値を条件にデータを抽出する方法
その他(データベース)
-
11
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
12
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
13
Accessを使って日付を比較したい
その他(Microsoft Office)
-
14
日付と文字列を条件としてDLookup関数で抽出さ
その他(プログラミング・Web制作)
-
15
「#エラー」の回避
Access(アクセス)
-
16
ACCESSのクエリで集計で、先頭・最後とは?
その他(データベース)
-
17
OR関数
その他(Microsoft Office)
-
18
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
19
ACCESSの集計クエリで3件ある場合の[先頭][最後]が正しく抽出できないんです。
その他(データベース)
-
20
ACCESSでの重複レコードの削除
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 一番最新の日付の金額...
-
ビューで引数を使いたい
-
リレーションシップ 全データを...
-
IFで条件を分岐させてのINSERT...
-
二つの表の項目を比較して値を...
-
SQLの書き方
-
Insert Into Select での重複に...
-
「マスタ」と「テーブル」の違...
-
ACCESSのSQLで、NULLかNULLでな...
-
2つのテーブルから条件に一致...
-
3つ以上のテーブルをUNIONする...
-
重複するキーから一番古い年月...
-
[ BETWEEN ] vs [ >= AND <= ]
-
ACCESS2007 フォーム 「バリア...
-
Access VBA Me.Requery レコー...
-
accessテーブル作成クエリを実...
-
accessのロック
-
ManagementStudioからのデータ削除
-
Accessのリンクテーブルについて
-
オラクルではできるのにSQLSERV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ビューで引数を使いたい
-
ACCESS 一番最新の日付の金額...
-
Accessで在庫管理を
-
IFで条件を分岐させてのINSERT...
-
DB2 業種毎に連番をつけたいの...
-
複数のテーブルから同じ条件で...
-
二つの表の項目を比較して値を...
-
SQLで○○の値以外を持っているレ...
-
select into句のトランザクショ...
-
SQLについて質問です。 テーブ...
-
大学でSQLの授業があるのですが...
-
Sql文のUpdateと副問い合わせで...
-
SQLの書き方
-
空のテーブルの判別
-
2つのテーブルを結合して合計(...
-
Accessクエリでのグループ化
-
SQL 件数取得を速くしたい
-
Insert Into Select での重複に...
-
INSERT文でサブクエリ
-
年齢分布テーブルの再集計SQL
おすすめ情報