AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken oracle sql anfrage, 2 bedingungen
Thema durchsuchen
Ansicht
Themen-Optionen

oracle sql anfrage, 2 bedingungen

Ein Thema von Jonas Shinaniganz · begonnen am 7. Jun 2015 · letzter Beitrag vom 16. Jun 2015
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: oracle sql anfrage, 2 bedingungen

  Alt 7. Jun 2015, 09:44
Nur eine Idee: beide Serien einzeln hinzujoinen.
SQL-Code:
SELECT
  PER.Name, P1.Role, P2.Role
FROM
  PERSON PER
JOIN
  PLAYS P1 ON P1.PERSON = PER.person
JOIN
  PLAYS P2 ON P2.Person = PER.person
JOIN
  EPISODE E1 ON E1.SERIES = P1.PRODUCTION
JOIN
  EPISODE E2 ON E2.SERIES = P2.PRODUCTION
JOIN
  SERIES S1 ON S1.SERIES = E1.SERIES
JOIN
  SERIES S2 ON S2.SERIES = E2.SERIES
WHERE
  S1.Title = 'The Big Bang Theory
AND
  S2.Title = 'Desperate Housewives'
Ungetestet
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.538 Beiträge
 
Delphi 12 Athens
 
#2

AW: oracle sql anfrage, 2 bedingungen

  Alt 7. Jun 2015, 09:48
Im Notfall auch LELF JOIN, falls es nicht alles gibt.
z.B. jemand war nur in einer der Serien drin

Und wenn es mehrere Datensätze in einer der JOINs gibt, dann gibt es so auch ein paar kleinere "Problemchen".
z.B. jemand hat mehrere Rollen in der selben Serie gehabt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Jun 2015 um 09:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#3

AW: oracle sql anfrage, 2 bedingungen

  Alt 7. Jun 2015, 09:51
Er will doch die, die in beiden Serien mitgespielt haben, da wäre ein OUTER JOIN kontraproduktiv. Oder habe ich das falsch verstanden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

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

AW: oracle sql anfrage, 2 bedingungen

  Alt 16. Jun 2015, 10:18
Nur eine Idee: beide Serien einzeln hinzujoinen.
SQL-Code:
SELECT
  PER.Name, P1.Role, P2.Role
FROM
  PERSON PER
JOIN
  PLAYS P1 ON P1.PERSON = PER.person
JOIN
  PLAYS P2 ON P2.Person = PER.person
JOIN
  EPISODE E1 ON E1.SERIES = P1.PRODUCTION
JOIN
  EPISODE E2 ON E2.SERIES = P2.PRODUCTION
JOIN
  SERIES S1 ON S1.SERIES = E1.SERIES
JOIN
  SERIES S2 ON S2.SERIES = E2.SERIES
WHERE
  S1.Title = 'The Big Bang Theory
AND
  S2.Title = 'Desperate Housewives'
Ungetestet
Ich konnte mich damit jetzt nochmal beschäftigen.

Zwischen EPISODE und PLAYS ist der Schlüssel PRODUCTION. Als mir das aufgefallen ist, hat es geklappt.

SQL-Code:
SELECT
  PER.Name, P1.Role, P2.Role
FROM
  PERSON PER
JOIN
  PLAYS P1 ON P1.PERSON = PER.PERSON
JOIN
  PLAYS P2 ON P2.Person = PER.PERSON
JOIN
  EPISODE E1 ON E1.PRODUCTION= P1.PRODUCTION
JOIN
  EPISODE E2 ON E2.PRODUCTION= P2.PRODUCTION
JOIN
  SERIES S1 ON S1.SERIES = E1.SERIES
JOIN
  SERIES S2 ON S2.SERIES = E2.SERIES
WHERE
  S1.Title = 'The Big Bang Theory
AND
  S2.Title = 'Desperate Housewives'
Also hier der obligatorische Dank für die Hilfe.
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#5

AW: oracle sql anfrage, 2 bedingungen

  Alt 16. Jun 2015, 10:36
Sry, Flüchtigkeitsfehler, aber schön, wenn es geklappt hat
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz