Suche SQL-Anweisung (Joins ??)

Arne Buchwald

Erfahrenes Mitglied
Hi,

Ich habe zwei Tabellen: member, whoisonline.

Im Moment lasse ich per SQL alle User aus whoisonline löschen, die Zeit 'jetzt' (Variable) nichts mehr gemacht haben
Code:
(Delete from whoisonline where timestamp < "' + jetzt + '"').

Vor dem Löschen muss ich noch eine weitere Anweisung haben, die den LastSession-Wert (whoisonline.timestamp) in das Feld member.lastsession schreibt. Ich habe mir schon ein paar Mal etwas über Joins durchgelesen, bin aber leider noch nicht wirklich schlau draus geworden.

Code:
UPDATE member SET lastsession = w.timestamp LEFT JOIN whoisonline w ON ( (timestamp < ' + QuotedStr(jetzt) + ') and (w.userid <> 0) )

Aber das kann so auch noch nicht passen ... :-(

Vielleicht kann mir ja mal jemand kurz helfen.
 
schade eigendlich das es update sein muss :-(

-----

also leider passen join und update nicht zusammen (jedenfalls nicht bei mysql)

leider muss du das via php lösen..

wert auslesen,
per update wert in andre table einfügen,
löschen ......
 
Original geschrieben von melmager
schade eigendlich das es update sein muss :-(

-----

also leider passen join und update nicht zusammen (jedenfalls nicht bei mysql)

leider muss du das via php lösen..

wert auslesen,
per update wert in andre table einfügen,
löschen ......
Hm, das ist echt schade. :( Dann muss ich in Delphi (;)) doch wohl erstmal eine Lösung mit zwei Queries stricken, aber bei großen User-(d.h. Member)zahlen muss ich mir noch was anderes überlegen.

Auf jeden Fall vielen Dank für die Aussage. :)
 
Hallo noch mal,

ich habe mal wieder ein JOIN-Problem. Aus meinen zahlreichen, ausgedruckten SQL-/JOIN-Seiten werde ich aber auch nicht wirklich schlau.

Und zwar suche ich folgendes SQL-Statement: Es sollen alle Mitglieder (Tabelle: member; Felder: userid, usergroupid, ...) ausgegeben werden, dessen Usergruppen (Tabelle: usergroup; Felder: usergroupid, visiblegroup, ...) im Feld Visiblegroup eine 1 stehen haben.
 
Servus!

Versuchs doch mal damit

SELECT *, usergroup.visiblegroup
FROM member INNER JOIN usergroup ON member.usergroupid = usergroup.usergroupid
WHERE (((usergroup.visiblegroup)=1));

Habs gerade mit Access zusammen gestrickt... kannst ja mal versuchen und ja, ich weis das Access keinen SQL XXXX kompatiblen Code erzeugt ...

Gruss Tom
 
Original geschrieben von tdar2
Servus!

Versuchs doch mal damit

SELECT *, usergroup.visiblegroup
FROM member INNER JOIN usergroup ON member.usergroupid = usergroup.usergroupid
WHERE (((usergroup.visiblegroup)=1));

Habs gerade mit Access zusammen gestrickt... kannst ja mal versuchen und ja, ich weis das Access keinen SQL XXXX kompatiblen Code erzeugt ...

Gruss Tom
Klasse - funktioniert perfekt! :)

Vielen lieben Dank,

ArneE
 
Zurück