Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

JOIN: Gleiche Spalte zweimal, aber anderer Wert

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von unkreativist, 15 Dezember 2013.

  1. unkreativist

    unkreativist Neuer Benutzer

    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
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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.
     
  3. unkreativist

    unkreativist Neuer Benutzer

    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’
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Fachhochschule für ... solche Themen? *duck*

    Naja, Hauptsache keine Filmchen von RedTube, gell?
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden