Einzelnen Beitrag anzeigen

Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#1

oracle sql anfrage, 2 bedingungen

  Alt 7. Jun 2015, 09:20
Datenbank: oracle db • Version: 11+ • Zugriff über: oracle sql developer
Hallo, ich habe eine eigentlich recht einfache SQL-Anfrage.

Eine TV-Serie hat mehrere Episoden, in welchen je mehrere Schauspieler eine Rolle spielen.
Ich möchte die Schauspieler herausfinden, welche in 2 verschiedenen TV-Serien eine Rolle hatten. Konkret die Schauspieler welche sowohl mal bei Big Bang und Desperate Housewives mitgespielt haben.

Das Übungsblatt kommt von der Uni (ist nur eine von mehreren Aufgaben).

Wortlaut:
"
Welche Personen haben in der Serie The Big Bang Theory und auch in der Serie Desperate Housewives mitgespielt. Geben Sie den Namen der Person und die jeweilige Rolle in den Serien aus. Keine Person soll mehrfach in der Ergebnisliste auftauchen. Verwenden Sie weder SQL-Mengenoperationen noch Unteranfragen."

Mein Problem habe ich mal fett markiert. Ich bekomm es nicht zu Stande ohne meine geliebten SubSelects. Außerdem weiß ich nicht, ob Rollen-Namen verkettet (zb mit Komma) in einer Spalte hinter dem Namen der Person stehen sollen oder dann doch 2 Zeilen für jede Person okay sind. Im ersten Fall fände ich es ziemlich happig.. dann müsste ich ja String-Aggregate verwenden.

Wäre nett wenn jemand das Statement schreiben könnte...

// Relevanter Auszug aus dem Schema:
SERIES (series, title, yearnull)
EPISODE (production→PRODUCTION, series→SERIES, seasonnull, episodenull, air_datenull)
PLAYS (person→PERSON, production→PRODUCTION, role)
PERSON (person, Name)

Und hier mein Ansatz, der mir schon mal alle Schauspieler mit der Rolle in der entsprechenden Serie liefert:

Delphi-Quellcode:
SELECT DISTINCT
  per.NAME, p.role
FROM
  SERIES S
  JOIN EPISODE E ON S.SERIES = E.SERIES
  JOIN PLAYS p ON p.PRODUCTION = E.PRODUCTION
  JOIN PERSON per ON per.PERSON = p.PERSON
  WHERE S.TITLE = 'The Big Bang TheoryOR S.TITLE = 'Desperate Housewives';
Wenn es eine Lösung gibt, die mir 3 Spalten gibt:

Name, "Rolle in DespHous", "Rolle in BigBang", ich wäre sehr dankbar und würde mir genau ansehen, wie die Anfrage strukturiert ist. VIELEN Dank

Achso ja, das obligatorische "ich bin verzweifelt und komme echt nicht weiter" .. hier ist es
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat