Hallo.
Also kurz ein paar Worte zum Problem:
Der Admin kann auf seiner Adminseite neue Filme anlegen und Benutzer können dann auf einer anderen Seite diese Filme kommentieren und bewerten.
Um anzuzeigen, welchen Benutzern dieser Film gefällt, habe ich folgende SQL-Abfrage gemacht:
SELECT b.benutzername
FROM gefaellt g, benutzer b, film f
WHERE g.fnr= '$fnr'
and g.id = b.id
and g.fnr = f.fnr
Nun das Problem: Bei einem neu erstellten Film ist natürlich kein Datensatz in der Tabelle "gefaellt", das heißt, die Bedingung g.fnr = f.fnr wird nie zutreffen, und weiteres kann der Benutzer dann den Film auch leider nicht kommentieren.
Ich habe da irgendwas von RIGHT und LEFT OUTER JOIN gehört, finde aber leider kein passendes Beispiel im Internet um das umzusetzten.
Vll hat ja irgendwer mehr mit SQL zu tun und kann mir damit helfen.
Danke
Also kurz ein paar Worte zum Problem:
Der Admin kann auf seiner Adminseite neue Filme anlegen und Benutzer können dann auf einer anderen Seite diese Filme kommentieren und bewerten.
Um anzuzeigen, welchen Benutzern dieser Film gefällt, habe ich folgende SQL-Abfrage gemacht:
SELECT b.benutzername
FROM gefaellt g, benutzer b, film f
WHERE g.fnr= '$fnr'
and g.id = b.id
and g.fnr = f.fnr
Nun das Problem: Bei einem neu erstellten Film ist natürlich kein Datensatz in der Tabelle "gefaellt", das heißt, die Bedingung g.fnr = f.fnr wird nie zutreffen, und weiteres kann der Benutzer dann den Film auch leider nicht kommentieren.
Ich habe da irgendwas von RIGHT und LEFT OUTER JOIN gehört, finde aber leider kein passendes Beispiel im Internet um das umzusetzten.
Vll hat ja irgendwer mehr mit SQL zu tun und kann mir damit helfen.
Danke

Kommentar