3 Abfragen in einem oder doch lieber 2 draus machen? [mySQL]

Eiszwerg

Erfahrenes Mitglied
Hallöle liebe Community,

ich habe 3 Tabellen: user, profile und online.
user: user_id, user_name, user_pw
profile: profil_id, profil_besitzer, profil_alter
online: online_id, online_user, online_last_action

Ich möchte nun eine Abfrage erstellen, welche mir alle Daten aus den ersten 2 Tabellen liefert und zusätzlich aus der 3. Tabelle ausliest, ob der User gerade online ist.

Probiert habe ich das wie folgt:
Code:
SELECT u.*, p.*, o.* FROM user as u, profile as p, online as o WHERE u.user_id='1' AND p.profil_besitzer='1' AND o.online_user=p.profil_besitzer

Leider ist es aber so, dass nach einer gewissen Zeit die user-spezifischen Einträge aus der Tabelle online entfernt werden; nämlich dann, wenn ein User offline gegangen ist. Somit bekomme ich in dem Fall keine Daten aus der Tabelle, weil o.online_user=p.profil_besitzer ja nicht wahr ist.
Empfiehlt es sich, diese Prüfung als eine extra Abfrage zu gestalten oder bietet mySQL da noch Möglichkeiten?

Ich warte gespannt auf Tipps, Tricks und Anregungen.
 
Also ich muss ehrlich gestehen, dass ich da nicht wirklich durchsteige.
Kann mir bitte jemand eine Starthilfe geben?
 
Hi,

wollte sagen das ich auch an dem gleichen Problem fest hänge.
Bei mir sind es zwar nicht die gleiche Tabellen aber ein sehr ähnliches und nur mit 2 Tabellen statt 3.

Würde mich ebenfalls sehr freuen, wenn uns jemand hier Helfen könnte

MfG
Callboy
 
Wo ist den genau das Problem Leute?

LEFT JOIN ist doch ganz simpel, sieht zb. so aus:
PHP:
$result = mysql_query ("SELECT a.id, b.id FROM test1 AS a LEFT JOIN test2 AS b ON (a.id = b.id) ORDER BY a.id  DESC LIMIT 0,20");

Noch Fragen?
 
Zurück