• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

MySQL join-Problem

Bieber

New member
Morgen,

ich kämpfe gerade mit einer Datenbank zur Administration von Datenbanken, bzw. aus der daraus resultierenden Abfrage. Die relevanten Tabellen habe ich mal als Grafik in den Anhang gepackt.

Meine Abfrage sieht so aus:
Code:
$sql="SELECT S.NAME, I.NAME, T.NAME FROM SCHEMATA S
  				JOIN INSTANCES I ON (S.INSTANCES_ID=I.ID)
  				JOIN TEST_SCHEMATA T ON (S.TEST_SCHEMATA_ID=T.ID)
  				WHERE S.ID = '".$id."'";

Funktioniert immer dann, wenn ein Schemata auch ein Test-Schemata hat. Aber das Test-Schemata darf auch NULL sein, wenn das der Fall ist scheitert die Abfrage. Hat jm. ne Idee wie ich das Lösen kann?

PS ja $id ist ne saubere Variable :d
 

Anhänge

  • db.png
    db.png
    21 KB · Aufrufe: 6
Ohne da jetzt genau drauf zugucken:
Mit LEFT OUTER JOIN bzw RIGHT OUTER JOIN erhälst du auch Tupel die keinen Join Partner in der rechten/linken Tabelle haben.
 
Zuletzt bearbeitet:
öhm... also ich habs hinbekommen :D, left outer join hilft^^, der Blick ins Inhaltsverzeichnis hat mir schon gereicht.... sorry für die Belästigung, dachte es wäre komplizierter, naja mit den outer-joins bin ich noch nie klar gekommen

Code:
$sql="SELECT S.NAME, I.NAME, T.NAME FROM SCHEMATA S
  				JOIN INSTANCES I ON (S.INSTANCES_ID=I.ID)
  				LEFT OUTER JOIN TEST_SCHEMATA T ON (S.TEST_SCHEMATA_ID=T.ID)
  				WHERE S.ID = '".$id."'";

edit: stimmt left join gabs ja auch noch, oh man^^, danke
 
Zurück
Oben