Daten aus Tabelle 1, Ordnen nach Tabelle 2

Leomuck

Mitglied
Hallo allerseits,

da ich mich leider nur mit Grundfunktionen von SQL auskenne, komme ich bei folgendem Problem selbst nicht weiter:

1. Tabelle "users"
2. Tabelle "online"

Nun lasse ich beim Ausgeben meiner Userliste verschiedene Sortierungs-Methoden zu (z.B. nach Online-Status oder letztem Pagevisit). Der SQL-Befehl dafür sieht meistens so aus:
PHP:
SELECT id, nick, lang FROM users ORDER BY last_visit DESC
Beim Sortieren nach dem Online-Status entsteht das Problem, dass ich die Spalten "id", "nick" und "lang" aus der Tabelle "users" brauche, aber so ordnen muss, dass die User, die in der Tabelle "online" stehen nach ganz oben müssen.

Ich kann mir einen solchen SQL-Befehl noch nicht mal vorstellen, demnach frage ich mich, ob das überhaupt möglich ist. Um es zu verdeutlichen, so müsste es dann aussehen:
>> NEHME id, nick, lang VON users ORDNE users IN online ZUERST <<

Sieht natürlich komisch aus, aber ich weiß nicht, wie ich das sonst beschreiben soll.

Ich hoffe, jemand weiß was ich meine und kann mir helfen.


Grüße,
Leomuck
 
Probier das mal

SQL:
SELECT u.id, u.nick, u.lang, o.id as onID
FROM users u LEFT JOIN online u ON u.id=o.id 
ORDER BY onID DESC, last_visit DESC
 
Zurück