Einzelnen Beitrag anzeigen

e-gon

Registriert seit: 7. Jul 2003
Ort: Stuttgart
163 Beiträge
 
Delphi 6 Enterprise
 
#1

SQL-Abfrage mit Ausschluss von Daten aus n:m Bezeihung

  Alt 5. Jan 2010, 10:22
Datenbank: Access • Version: XP • Zugriff über: ADO
Hallo Leute,

ich habe ein kleines Filmlexikon geschrieben, welches auf eine Access-DB zugreift. Die DB enthält unter anderem zwei Tabellen.
Tabelle 1: FILM; Felder: FilmID (Primärschlüssel), Titel, Dauer, Filmtyp,...
Tabelle 2: DARSTELLER; Felder: DarstellerID (Primärschlüssel), Name, Vorname,...
Diese n:m Beziehung löste ich mit einer dritten Tabelle FILM_DARSTELLER mit den Feldern FilmID (Primärschlüssel) und DarstellerID (Primärschlüssel) auf. Das alles klappt prima.

Um auch geziehlt suchen zu können, besitzt das Programm eine Abfrage-Form. Dabei stieß ich allerdings auf ein Problem. Es ist ja kein Hexenwerk alle Filme mit Schauspieler A oder B zu finden. Was aber, wenn man davon nur die Filme haben will, in denen Schauspieler C und D nicht mitspielen?

Das funktioniert jedenfalls nicht:
SQL-Code:
SELECT FILM.Titel
FROM FILM INNER JOIN FILM_DARSTELLER ON (FILM.FilmID = FILM_DARSTELLER.FilmID)
WHERE ((FILM_DARSTELLER.DarstellerID=1) OR (FILM_DARSTELLER.DarstellerID=2)) AND (FILM_DARSTELLER.DarstellerID<>3) AND (FILM_DARSTELLER.DarstellerID<>4);
Stehe ich völlig auf dem Schlauch oder gibt es für dieses Problem keine reine SQL-Lösung?

Gruß
e-gon
  Mit Zitat antworten Zitat