データベースに取り込まれている動物の最初のインスタンスをプルアップしようとしています。各動物はIDコードを持っています。MS Access 2007 SQL:IDが複数の日付に繰り返されるときの日付/ IDコンボの最初のインスタンスを選択してください
現在、各IDコードに関連付けられている最小の日付を使用しています。これは、同じ日に2回捕獲された2匹の動物を返すことを除いて大部分の場合にうまく機能する(AMセッション中に1回、PMセッション中に1回)。私のクエリは、その日に両方のキャプチャを返します。私は最初のものだけを必要とします。しかし、時には動物が午後に最初に捕まえられたので、私はPMキャプチャを除外することはできません。
現在、日付とAM/PMフィールドはアンケートIDによってキャプチャテーブルにリンクされているアンケートテーブルに保存されています。 8Jul2000のAM調査は、PM調査とは異なる調査IDを持っています。アンケートは年代順に入力されていないため、アンケートIDの自動番号は年表とは無関係です(並べ替えには役に立たない)。
私はこれを行うために2つのクエリを使用しています.1つは動物が最初に捕獲された日を示し、もう1つはその日のキャプチャ記録を返します。私は結果を更新可能にする必要があります。ここに私のクエリです:
SELECT [Capture Table].id_code, Min([Header (Survey) Table].Date) AS MinOfdate
FROM [Header (Survey) Table] INNER JOIN [Capture Table] ON [Header (Survey) Table].survey_id = [Capture Table].survey_id
GROUP BY ([Capture Table].[id_code]);
そして:
SELECT [Header (Survey) Table].Date, [Header (Survey) Table].am_pm, [Capture Table].*
FROM [First Capture subQuery] INNER JOIN [Capture Table] ON [First Capture subQuery].id_code = [Capture Table].id_code) INNER JOIN [Header (Survey) Table]
ON ([Header (Survey) Table].survey_id = [Capture Table].survey_id) AND ([First Capture subQuery].MinOfdate = [Header (Survey) Table].date
。
am_pmで結果をソートし、そのリストから日付/ IDコンボの最初のインスタンスを選択すると、このようになる可能性がありますが、SELECT TOPを適用してまだ取得する方法はわかりませんすべてのレコード&フィールド私はそれらの2つを超えて欲しいです(私は、単純化のために例で必要なフィールドの一部を含めませんでした)。
ありがとうございました!
EDIT:データのサンプル
ヘッダ表:
site year date time survey_id
REFFOR 1988 3-Jul-1998 AM 192
REFFOR 1988 3-Jul-1998 PM 180
キャプチャー表
survey_id record species id_code capcode (1 = new capture, 2= recap)
192 1 PERMAN A100 1
192 2 PERMAN A104 2
192 3 PERMAN A102 1
180 4 TAMAMO A103 1
180 5 PERMAN A100 2
180 6 TAMAMO A101 1
私がしようとしているのは、コードコードが正しいことを確認することです。つまり、私の例では、レコード1,3,4,&のレコードが私のクエリによって返されます。
しかし、今の私のクエリは一度PMでA100が一度AMの調査では7月3日に二回キャッチされたので、記録1,3,4、 & 6を返します(SurvId = 192)と調査(SurvID = 180)。
探し:それはパフェの答えの多くと同様に、私はここで見つけるヒントを使用しています。これは私がやる必要があるものの一部ですが、更新可能なビットは素晴らしいですが、それは私が必要とするこの他のことをしません。それはMin(Date)の午前&午後の調査で動物が捕獲されたときにAMレコードのみを選択し、それがMin(Date)の唯一の捕獲であればPM捕獲を戻します。しかし、答えをありがとう。私は正しく理解していることを願っています。 – user2934942
AM/PMは時間の数字ですか?私たちもそれを最小限に抑えることができますか?通常、いくつかのデータスニペットを掲示することで説明すると便利です。 – Parfait
いいえ。単なるラベルです(時にはトラップがチェックされた時があり、時には午前と夕刻にチェック/リセットされていることがあります)。私はいくつかの行を投稿します。 – user2934942