SQL Stichwort Filter Abfrage
-
Access 2003
Hallo zusammen,
ich habe ein Problem mit einer Abfrage.
In der Tabelle Bilder befinden sich Bilder (wie der Name schon sagt),
diese sind einer Gruppe zugeordnet. Der Gruppe sind wiederum Stichwörter zugeordnet.
Ich möchte eine Select Abrage stellen die alle Bilder zurückgibt die z.B.
Stichwort1 und Stuchwort2 aus der Tabbele Stichwoeter haben.Tabelle1: Bilder
ID
GruppenID (n -> 1 Beziehung zu Gruppen.ID)
Datum
Bezeichnung
FotoTabelle2: Gruppen
ID
BezeichnungTabelle3: GruppenStichwort
GruppenID (n -> 1 Beziehung zu Gruppen.ID)
StichwortID (n -> 1 Beziehung zu Stichwoerterr.ID)Tabelle4: Stichwoerter
ID
StichwortMein ansatz dazu ist
SELECT Bilder.ID, Bilder.GruppenID, Bilder.Datum, Bilder.Bezeichnung FROM Stichwoerter INNER JOIN ((Gruppen INNER JOIN Bilder ON Gruppen.ID = Bilder.GruppenID) INNER JOIN GruppenStichwoerter ON Gruppen.ID = GruppenStichwoerter.GruppenID) ON Stichwoerter.ID = GruppenStichwoerter.StichwoerterID WHERE (((Stichwoerter.Stichwort)=\"Stichwort1\")) ) INTERSECT SELECT Bilder.ID, Bilder.GruppenID, Bilder.Datum, Bilder.Bezeichnung FROM Stichwoerter INNER JOIN ((Gruppen INNER JOIN Bilder ON Gruppen.ID = Bilder.GruppenID) INNER JOIN GruppenStichwoerter ON Gruppen.ID = GruppenStichwoerter.GruppenID) ON Stichwoerter.ID = GruppenStichwoerter.StichwoerterID WHERE (((Stichwoerter.Stichwort)=\"Stichwort2\")) )
Leider Unterstützt Access INTERSECT nicht.
Kennt jemand eine andere Lösung?
-
Warum machst Du keine OR-Bedingung?
WHERE ((Suchwort = "blablabla") OR (Suchwort = "Blubb"))
Grüße Joe_M.
-
Weil als Ergebnis nur die Datensätze geliefert werden sollen, dennen das Stichwort "blablabla" und "Blubb" zugeordnet worden ist.
Und nicht die Datensätze die z.B. nur "blablabla" haben.
-
Da fällt mir auf Anhieb nur so etwas ein:
SELECT Bilder.Bezeichnung, Bilder.ID FROM ... WHERE ((Stichwort = "blablabla") OR (Stichwort = "Blubb")) GROUP BY Bilder.Bezeichnung, Bilder.ID HAVING count(Stichwort)=2
(mit dem "GROUP BY" werden alle Einträge zu einem Bild zusammengruppiert und mit "HAVING" wird alles rausgeschmissen, was weniger als 2 Stichwörter hat)
-
Ja das ist es.
Danke dafür :D, Problem endlich gelöst.