Hey, vielleicht stelle ich mich etwas blöd an, aber ich habe noch kein Problem für meine Frage gefunden (oder ich weiß nicht genau, wonach ich suchen muss
Deshalb hier meine Frage:
Ich habe eine Tabelle studiengaenge a mit mehreren Studiengängen einer Hochschule. Aus den Tabellen abschluss b und schulform c möchte ich nun in einer Abfrage den Namen des Abschlusses und (wenn vorhanden) der Schulform des in der Tabelle studiengaenge hinterlegten Studiengangs herausfinden.
Die bisherige Abfrage sieht so aus:
SELECT a.*,b.abschluss,c.schulform
FROM studiengaenge a, abschluss b, schulform c
WHERE a.studiengang = '$studiengang' AND b.id = a.abs AND c.id = a.sch
Mein Problem: Die bisherige Abfrage (s.u.) klappt prima, wenn sowohl Tabelle b und Tabelle c einen Wert > 0 enthalten. Allerdings gibt es einige Studiengänge, die nicht auf eine bestimmte Schulform ausgerichtet sind und deswegen als Inhalt '0' haben (bei Verwendung von tinyint). Da in dem Fall in der Tabelle c natürlich keine entsprechende id vorhanden ist, funktioniert die Abfrage nicht.
Gibt es eine Möglichkeit, mit der ich in beiden Fällen das richtige Ergebnis herausbekomme?
Deshalb hier meine Frage:
Ich habe eine Tabelle studiengaenge a mit mehreren Studiengängen einer Hochschule. Aus den Tabellen abschluss b und schulform c möchte ich nun in einer Abfrage den Namen des Abschlusses und (wenn vorhanden) der Schulform des in der Tabelle studiengaenge hinterlegten Studiengangs herausfinden.
Die bisherige Abfrage sieht so aus:
SELECT a.*,b.abschluss,c.schulform
FROM studiengaenge a, abschluss b, schulform c
WHERE a.studiengang = '$studiengang' AND b.id = a.abs AND c.id = a.sch
Mein Problem: Die bisherige Abfrage (s.u.) klappt prima, wenn sowohl Tabelle b und Tabelle c einen Wert > 0 enthalten. Allerdings gibt es einige Studiengänge, die nicht auf eine bestimmte Schulform ausgerichtet sind und deswegen als Inhalt '0' haben (bei Verwendung von tinyint). Da in dem Fall in der Tabelle c natürlich keine entsprechende id vorhanden ist, funktioniert die Abfrage nicht.
Gibt es eine Möglichkeit, mit der ich in beiden Fällen das richtige Ergebnis herausbekomme?