Microsoft Access 掲示板

クエリに、集計関数の一部として指定された~が含まれていません / 4

17 コメント
views
4 フォロー
4
hatena 2023/08/18 (金) 20:10:49 修正

hirotonさんから回答がある通り、集計関数(Max)を使う場合は、すべてのフィールドに対して、集計の指定をするか、グループ化する必要があります。それがしてないのでエラーになりますね。

1000000000016で登録してある最新の出勤データを取得しようとしたところ、

この要件なら、サブクエリかDMax関数で月日の最大を取得してそれを抽出条件にするか、月日で降順に並べ替えて先頭レコード(TOP 1)を取得することになります。

DMax関数を使う場合のコード例

SELECT TOP 1 個人データ.氏名,個人データ.住所,出勤データ.時間, 出勤データ.月日 AS 月日
FROM 個人データ INNER JOIN 出勤データ ON 個人データ.jan=出勤データ.jan
WHERE
 個人データ.jan = '1000000000016'
 AND 出勤データ.月日 = DMax("月日","出勤データ","jan='1000000000016'")

TOP 1 を使う場合のコード例

SELECT TOP 1 個人データ.氏名,個人データ.住所,出勤データ.時間, 出勤データ.月日 AS 月日
FROM 個人データ INNER JOIN 出勤データ ON 個人データ.jan=出勤データ.jan
WHERE  個人データ.jan = '1000000000016'
ORDER BY 出勤データ.月日 DESC;
通報 ...