SQL-Problem

SQL-Problem

am 12.05.2006 11:11:54 von thborsdorf

Hallo NG!

Ich stehe momentan ziemlich auf dem Schlauch, vielleicht kann mir hier
jemand runter helfen...

Ich habe eine Tabelle mit Usern und eine mit Login-Daten, verknüpft über
die UserID. Die Login-Tabelle enthält eine SessionID (PrimaryKey) und
den Timestamp des Logins.

Jetzt möchte ich per PHP-Skript eine Liste der User ausgeben und wie oft
und wann zuletzt sie sich eingeloggt haben.
Soweit kein Thema!

Ich brauche allerdings auch noch die SessionID des letzten Logins.
Und da hakt´s momentan!

Nach Möglichkeit würde ich das gerne mit einem einzigen SQL-Statement
lösen. Ich hab sowas in der Art auch schonmal gemacht, komme jetzt aber
nicht mehr drauf wie, und ich kann leider nicht nachschauen...

Kann mir jemand vom Schlauch runterhelfen?

Vielen Dank!

MfG Thomas.

Re: SQL-Problem

am 12.05.2006 12:33:09 von Thomas Rachel

Borsdorf, Thomas wrote:

> Ich habe eine Tabelle mit Usern und eine mit Login-Daten, verknüpft über
> die UserID. Die Login-Tabelle enthält eine SessionID (PrimaryKey) und
> den Timestamp des Logins.
>
> Jetzt möchte ich per PHP-Skript eine Liste der User ausgeben und wie oft
> und wann zuletzt sie sich eingeloggt haben.
> Soweit kein Thema!
>
> Ich brauche allerdings auch noch die SessionID des letzten Logins.
> Und da hakt´s momentan!


Ich nehme an, der Timestamp des letzten Logins macht Dir dieselben Probleme?


Aus dem Stegreif:

SELECT user.name,user.id,s1.SessionID,s1.t
FROM user JOIN login s1 USING (id)
LEFT JOIN login s2 ON s1.id=s2.id AND s1.t WHERE s2.id IS NULL


Dadurch erhältst Du Verknüpfungen zwischen login-Zeilen, bei der die von s2
"neuer" ist als die von s1.

Im WHERE wird dann festgelegt, daß die s2-Zeile nicht existieren darf, s1
ist also die Zeile, zu der es keine neuere gibt.

Das Ganze wird dann auf alle User angewandt.

(Obiger Query ist nicht getestet.)

Thomas