abfragt verwende ich diese Art der Abfrage:Zugriff ignoriert INNER JOIN oder WHERE-Klausel in Unter
SELECT element, Category FROM TableA, AllowedCategories
WHERE TableA.Category = AllowedCategories.Category
TableA Daten wie folgt aussieht:
element Category
el1 Cat1
el2 Cat1
el3 Cat1
el4 Cat2
el5 Cat3
AllowedCategories ist eine Liste der Kategorie. Nur Werte von TableA, die innerhalb von AllowedCategories liegen, müssen in der Abfrage angezeigt werden.
Es funktioniert gut für die erste Abfrage. Es filtert Elemente, die sich nicht in der Tabelle "AllowedCategories" befinden. Wenn ich jedoch eine Unterabfrage aus dieser herausstelle, zum Beispiel:
SELECT * FROM (
SELECT element, Category FROM TableA, AllowedCategories
WHERE TableA.Category = AllowedCategories.Category) As temp1
Kategorien werden nicht mehr gefiltert. Was ist falsch, wie kann dieses Problem umgangen werden?
(Dateierweiterung ist eine .mdb)
UPDATE: ich meine Abfrage wieder geschrieben, und es irgendwie funktioniert. Ich habe immer noch keine Ahnung, was dieses Problem verursacht haben könnte, aber ich habe mir gedacht, dass wenn eine Unterabfrage abgefragt wird, sie ihre Filter nicht verliert. Es ist in der Tat ein sehr seltsames Verhalten von MS-Access. Meine Queue mit einer einfachen
Abfrage erhielt ich mehr Datensätze als ich in meiner Unterabfrage hatte. Hoffentlich hat das erneute Schreiben der Abfrage es funktioniert.