2017-03-23 15 views
1

最近、すべてのヘルプを通して、私が働きたいすべてのクエリを取得できましたが、完了までにどれくらい時間がかかります。 msアクセスが完了し、解凍できるようになるまでに最大15分かかることがあります。少量のデータ(150レコード程度)でクエリを実行すると、1〜2分かかることがありますが、データセットが大きくなると時間がかかります。
私がしようとしているのは、すべての結果(約18,000レコード)を持つものと、「合格」した人だけを持つものと比較して、「失敗」したものを見つけることです。これは、仲間のメンバーが私に示したもので、私が使ったものです。

SELECT * FROM All_ESD_Results_Date_Changed WHERE(([EmpID] & [Date])ではありません。(SELECT EmpID & Date FROM All_Pass))););

これを高速化する方法はありますか、それともms-accessの制限ですか?この同じデータセットで使用する他のすべてのクエリはすべて秒を要します。

私は本当にすべての助けに感謝し、私はこのフォーラムの助けなしにこれを行うことはできませんでした。ありがとうございました。ms-accessで3番目の結果を得るために他の2つのクエリの結果を照会

答えて

0

同じロジックを実現するために、2つのテーブルを結合したままにしておくことができます。このような何か:これが解決しない場合は

SELECT t1.* 
FROM All_ESD_Results_Date_Changed t1 
LEFT JOIN All_Pass t2 
    ON t1.[EmpID] = t2.[EmpID] AND 
     t1.[Date] = t2.[Date] 
WHERE t2.[EmpID] IS NULL 

は、その後、更なるステップは、取るにはAll_Pass表にEmpIDDate列にインデックスを追加することになります。

+0

照会されている項目は両方とも照会そのものです。これによりアプローチが変更されるのでしょうか、テーブルとクエリが同じ意味で使用されていますか?私はまだアクセスするのが非常に新しいです。 – Mark

+0

あなたのコメントは私には意味がありません。私の知る限り、私の答えは論理的には元々のものと同等ですが、それはより良い結果を出すかもしれません。 –

+0

"テーブル"という言葉をあなたが混乱させてしまいました。私はいつもテーブルとクエリが違っていると思っていました。両者の関係はまだ私にとって挑戦です。私はまだ一般的なアクセスとデータベースを扱うことは非常に新しく、決して怒らないわけではありません。私は本当に助けにいっぱいです。 – Mark

関連する問題