JOIN: Gleiche Spalte zweimal, aber anderer Wert

unkreativist

Neuer Benutzer
Beiträge
2
Hallo zusammen

Ich bin momentan an einem Schulprojekt und sitze nun seit Stunden an einer Abfrage. Die Vorgabe für die Abfrage lautet: Zeige alle Filme an die eine Oralsexszene zwischen zeiw gleichgeschlechtlichen Schauspieler enthalten und eine Altersfreigabe ab 16 Jahren haben.

Mein SQL Code sieht so aus:
Code:
SELECT Film.filmtitel,
      Sexart.art,
      sp1.name,
        sps1.sexszeneID,
        sp2.name,
        sps2.sexszeneID,
      Altersbeschraenkung.fsk
FROM Film
JOIN Sexszene ON (film.ID = sexszene.filmID)
JOIN Altersbeschraenkung ON (Altersbeschraenkung.ID = Film.fskID)
JOIN SchauspielerSexszene sps1 ON (sps1.sexszeneID = sexszene.ID)
JOIN SchauspielerSexszene sps2 ON (sps2.sexszeneID = sexszene.ID)
JOIN Schauspieler sp1 ON (sp1.ID = sps1.schauspielerID)
JOIN Schauspieler sp2 ON (sp2.ID = sp1.ID)
JOIN Sexart ON (Sexart.ID = Sexszene.sexartID)
WHERE Altersbeschraenkung.fsk >= '16'
  AND Sexart.art = 'Oralsex'
  AND (sexszene.ID = sexszene.ID)
  AND sp1.geschlecht = sp2.geschlecht

Das Problem ist nun, das es mir so natürlich bei sp1 den gleichen Schauspieler einfügt wie bei sp2.
Kann ich irgendwie sagen, dass der Schauspieler sp1 nicht der gleiche sein darf wie sp2 aber in der gleichen sexszene sein muss?

Mein ERM findet Ihr im Anhang. Ich hoffe jemand kann mir helfen, ich bin nahezu am verzweifeln.
Herzlichen Dank für eure Antworten.
Bildschirmfoto 2013-12-15 um 12.40.48.png
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.731
Hallo zusammen

Ich bin momentan an einem Schulprojekt und sitze nun seit Stunden an einer Abfrage. Die Vorgabe für die Abfrage lautet: Zeige alle Filme an die eine Oralsexszene zwischen zeiw gleichgeschlechtlichen Schauspieler enthalten und eine Altersfreigabe ab 16 Jahren haben.

Schon, ähm, interessant, was man heute so für Themen in der Schule hat...

Was ist, wenn bei einer, ähm, Szene mehr als 2 Schauspieler 'mitwirken'?

An sind brauchst ja nur, ausgehend von Deiner Film-Id, zu schauen, welche sexsceneID relevant ist, damit die Schaupsieler für diese Szene ermitteln und guggen, wieviel davon männlich, weiblich oder sonstwas sind.
 

unkreativist

Neuer Benutzer
Beiträge
2
Ist eine Fachhochschule ;)

Ich denke ich konnte es nun Lösen:
Code:
SELECT DISTINCT
        Film.filmtitel,
        Altersbeschraenkung.fsk,
        Sexart.art
FROM Schauspielersexszene sps1
INNER JOIN Schauspielersexszene sps2 ON (sps1.sexszeneID = sps2.sexszeneID)
INNER JOIN Schauspieler sp1 ON (sp1.ID =  sps1.schauspielerID)
INNER JOIN Schauspieler sp2 ON (sp2.ID =  sps2.schauspielerID)
INNER JOIN Sexszene ON (sps1.sexszeneID = Sexszene.ID)
INNER JOIN Sexart  ON (sexart.ID = Sexszene.sexartID)
INNER JOIN Film ON (film.ID = Sexszene.filmID)
INNER JOIN Altersbeschraenkung ON (Altersbeschraenkung.ID = Film.fskID)
WHERE
    sp1.geschlecht = sp2.geschlecht AND
    sp1.ID <> sp2.ID AND
    sexart.art = 'Oralsex' AND
    Altersbeschraenkung.fsk >= '16’
 
Werbung:
Oben