hi,
Hello,
Das ist nur die halbe Miete, weil er ja gerade ausschließen muss, dass es in der Ergebnismenge überhaupt welche gibt, die ein Datum >= Wunschdatum haben... Wenn ich die Aufgabenstellung richtig verstanden habe.
nö, ein einfaches HAVING mit MAX(loginzeit) < ... sollte reichen.
Nette Idee. Ich kriegs leider nicht hin.
Könntest Du bitte noch mal zeigen?Bastian wollte ja alle User sehen, die sich schon länger als Datum-x nicht angemeldet haben.
also über die User gruppieren und dann ?
SELECT
user
,logindate
FROMlogindata
GROUP BYuser
HAVING MAX(logindate) < '#datum#';Mit MySQL müsste das doch auch so funktionieren. Da bekomme ich immer "you have an error near heaving" oder soweas ähniches
du kannst in having nur verwenden, was auch im select steht (max ist dort nicht). Daher vermutlich der fehler ... so auf die fixe vermutet.
von einem anderen thema bei mysql.com hab ich diese lösung, die dürftest du für dich anpassen können:
SELECT l.LogID, l.FileID, l.ChangeDate, l.Freitext
FROM log AS l
WHERE l.ChangeDate=(SELECT MAX(ls.ChangeDate) FROM log AS ls WHERE ls.FileID=l.FileID)
GROUP BY l.FileID
auf jeden fall wirst du einen fehler bekommen, da das group by dir das wohl nicht so groupieren wird, wie es für dich sinnvoll ist (er älteste eintrag wird vermutlich angezeigt, da er der mit der kleinsten internen id ist).
Gruß Niklas
Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist.