2017-09-20 13 views
0

アクセスで以下のSQLクエリを実行しようとしています。私が書いたクエリは以下の通りですMSアクセスエラー、集計関数

"You tried to execute a query that does not include the specified expression 'ID' as part of an aggregate function"

:私はMS Accessのエラーを得続ける

SELECT Subject.ID, Subject.Description, Max(DataSets.ID) AS ID_DataSets 
FROM Subject 
INNER JOIN DataSets ON Subject.Description = DataSets.Subject.Value 
GROUP BY Subject.ID, Subject.Description; 
+1

この関係について本当ですか?Subject.Description = DataSets.Subject.Value? –

+1

MS Accessは、大括弧またはバッククォートでエスケープしない限り、テーブル名/エイリアスとフィールドの間に1つのピリオド修飾子しか使用できません。 'DataSets.Subject.Value'を説明してください。 – Parfait

+0

Chetan Vasudevan - はい私はその関係について確信しています。私はそれが2つのテーブルをリンクした 'ID'だったと思っていたが、残念ながらテーブルを作成していなかった。 – DSanni

答えて

0

私はこの参照DataSets.Subject.Valueでエラーを参照してください、私はそれがそのエラーを生成するかわかりませんメッセージ。

SELECT s.ID, s.Description, Max(ds.ID) AS ID_DataSets 
FROM Subject as s INNER JOIN 
    DataSets as ds 
    ON s.Description = ds.Value -- is this correct? 
GROUP BY s.ID, s.Description; 

テーブルエイリアスを使用すると、クエリの読み書きが簡単になります。

+0

私はエイリアスを書くことは本当に人がDataSets.Subject.Valueにどのように到着したかを知りません。それは私がそこにコメントした理由です。その質問の質問者が関係のその部分で間違っているなら、あなたの質問は完璧な答えでなければなりません –

+0

*私はエラー*を見ます... ...将来の読者のためにこのエラー見た。 – Parfait