を照会WHERE:アクセスINNER JOINを無視するか、サブで句は、私は、クエリのこの種を使用
SELECT element, Category FROM TableA, AllowedCategories
WHERE TableA.Category = AllowedCategories.Category
テーブルAのデータは次のようになります。
element Category
el1 Cat1
el2 Cat1
el3 Cat1
el4 Cat2
el5 Cat3
AllowedCategoriesカテゴリのリストです。 AllowedCategories内にあるTableAの値のみをクエリに表示する必要があります。
最初のクエリではうまく機能しています。 AllowedCategoriesテーブルにない要素をフィルタリングします。しかし、このサブクエリをサブクエリすると、たとえば次のようになります。
SELECT * FROM (
SELECT element, Category FROM TableA, AllowedCategories
WHERE TableA.Category = AllowedCategories.Category) As temp1
カテゴリはもうフィルタリングされません。何が間違っている、どのようにこの問題はarround働くことができますか?
(ファイルの拡張子は.MDBある)
UPDATE:私は再び私のクエリを書き、それが何らかの形で働いていました。私はまだこの問題を引き起こしていた可能性は考えていませんが、サブクエリがクエリされているときにフィルタを失っていないと思います。それは実際にはMS-Accessからの非常に奇妙な動作です。単純な私のqueurieを照会
SELECT * FROM subquery
私は私のサブクエリよりも多くのレコードを与えていました。うまくいけば、再度クエリを書き直すことでうまくいきました。