Einzelnen Beitrag anzeigen
  #3  
Alt 24.11.2004, 09:30:44
bazubi bazubi ist offline
Junior Member
 
Registriert seit: Jan 2004
Beiträge: 496
Danke für die Antwort.

Einen Inner Join hatte ich ja praktisch schon mit dem where s.id = o.id. Das funktioniert auch soweit. Deine Abfrage (die zweite) macht im Ergebniss die gleiche wie meine. Ich bekomme dann ungefähr die folgende Ergebnisstabelle:

Code:
id    ip       tme       name
------------------------------------
1     xyz      1008000   seite1
1     xyz      1007000   seite1
2     xyz      1006000   seite2
1     xyz      1005000   seite1
3     xyz      1004000   seite3
2     xyz      1003000   seite2
D.h. ich bekomme jeden Hit für jede Seite. Ich will aber pro Seite nur den letzten Hit. Es soll also so ausehen:

Code:
id    ip       tme       name
------------------------------------
1     xyz      1008000   seite1
2     xyz      1006000   seite2
3     xyz      1004000   seite3
(Die IP ist im Prinzip unwichtig es könnten also auch verschiedene IPs sein)

Ich habe zwischenzeitlich auch nochmal versucht ein MAX() mit einzubauen, erhalte aber bei der Abfrage:

Code:
 SELECT o.id, o.ip, MAX( o.tme ) AS tme, s.name
FROM onlinestate AS o, systems AS s
WHERE o.id = s.id
nur die Fehlermeldung

Code:
#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause

Geändert von bazubi (24.11.2004 um 09:35:08 Uhr)
Mit Zitat antworten