Hallo,
ich brauche Hilfe bei einer Datenbankabfrage. Zuerst einmal der Befehl den ich benutze:
Mein Problem ist nun folgendes:
Das Feld R.requestedBy kann NULL werden, wenn der dazugehörige Benutzer gelöscht wurde. Unteranderem deshalb wird sein Name im Feld R.signedBy zusätzlich gespeichert (Aber nicht nur deswegen, es kann nähmlich sein dass das zwei Verschiedene Namen sind). Ich will, dass U.Name bei der Ausgabe auch NULL (oder sonst irgendein festlegbarer Wert) ist, falls R.requestedBy NULL ist. Mit der Abfrage die ich im Moment benutze, werden bei einem NULL werd da alle existierenden Benutzer nacheinander eingefügt. Wie kann ich das gewünschte Resultat erhalten? (Am besten ohne einen Dummy-Benutzer oder sowas ähnliches anzulegen)
mfg
Raptor
ich brauche Hilfe bei einer Datenbankabfrage. Zuerst einmal der Befehl den ich benutze:
Code:
SELECT S.name as Studentname, S.classname, U.name, R.signedBy, R.text,
DATE_FORMAT(R.date, '%e.%c.%Y') as datum, R.id FROM students S, requests R, users U
WHERE (R.requestedBy is NULL OR R.requestedBy = U.id) AND R.requestedFor = S.id AND R.state ='pending'
ORDER BY DATE( R.date ) DESC , U.name ASC, R.date DESC
Mein Problem ist nun folgendes:
Das Feld R.requestedBy kann NULL werden, wenn der dazugehörige Benutzer gelöscht wurde. Unteranderem deshalb wird sein Name im Feld R.signedBy zusätzlich gespeichert (Aber nicht nur deswegen, es kann nähmlich sein dass das zwei Verschiedene Namen sind). Ich will, dass U.Name bei der Ausgabe auch NULL (oder sonst irgendein festlegbarer Wert) ist, falls R.requestedBy NULL ist. Mit der Abfrage die ich im Moment benutze, werden bei einem NULL werd da alle existierenden Benutzer nacheinander eingefügt. Wie kann ich das gewünschte Resultat erhalten? (Am besten ohne einen Dummy-Benutzer oder sowas ähnliches anzulegen)
mfg
Raptor
Zuletzt bearbeitet: