現在、関連する 2 つのテーブルがあります。
Property
ID
Name
と
Checks
ID
Property
Type
ExpiresOn
テーブル内のプロパティ フィールドは、Checks
テーブル内の ID を参照しProperty
ます。
チェックにはさまざまな種類がありますが、この例では、ガスと電気に固執します。したがって、典型的なChecks
テーブルは次のようになります。
ID Property Type ExpiresOn
----------------------------------------
1 1 Gas 20/07/13
2 1 Gas 21/07/13
3 1 Electric 22/07/13
4 2 Electric 23/07/13
ここで私がやりたいのは、プロパティを表示することです。列には各タイプの最後のチェックが表示されます。例えば:
ID Property.Name GasExpiry ElectricExpiry
--------------------------------------------------
1 Some Place 21/07/13 (2) 22/07/13 (3)
2 Another Place null 23/07/13 (4)
ID
何が起こっているのかを簡単に確認できるように、括弧内に各有効期限を含めました。ID 1のChecks
レコードは、特定のプロパティのそのタイプの最後ではないため、表示されませんでした。
現在、結合でこれを行う適切な方法を見つけられなかった後、Dlookup を使用してこれを行っています。もちろん、Property
より多くのレコードを取得すると、Dlookup はこのクエリを大幅に遅くし始めます。
この問題にアプローチするより良い方法はありますか?