0
を集約するために、非集計フィールドを追加します。MS AccessのSQLは、私は次の表を持っている
tableX
+----+----+----+
| f1 | f2 | f3 |
+----+----+----+
| 1 | a | 12 |
| 2 | a | 54 |
| 3 | b | 23 |
| 4 | b | 18 |
| 5 | b | 75 |
+----+----+----+
私たちが得るようF2に関しては、F3で最高値に基づいてテーブルを削減したいと思います:
+----+----+----+
| f1 | f2 | f3 |
+----+----+----+
| 2 | a | 54 |
| 5 | b | 75 |
+----+----+----+
私が使用して、F2とF3を減らすことができます。エイリアスを使用して(私は1つのソリューションは以下に近いと思い
SELECT f2, Max(f3)
FROM tableX
GROUP BY f2;
を自己結合)、私はそれを動作させるために少しでも苦労しています - アクセスは、f1が集合体の一部ではないと不平を言います。
SELECT a.f1,a.f2, Max(a.f3)
FROM tableX t1
Inner Join tableX t2
On t1.f1 = t2.f1
GROUP BY t1.f2;
これは本当にありがとうございます。私はAccessの循環参照ポップアップを避けるために "max(f3)as f3"を "joinf3としてmax(f3)"に変更し、 "j.f3 = x.f3"を "j.joinf3 = x.f3"オフ。私はSQLのフィドルを好む - 前にそのサイトを見て、それを調べます。 – Jim