Komplizierter SELECT!

M

messiah_net

Hi ich verwende MS SQL Server 2005 + Management Studio.

Meine Frage: und zwar habe ich einen Select-Befehl, der mir alle einträge einer tabelle ausgibt, die NICHT innerhalb der letzten Woche eines Monats entstanden sind UND nicht die letzten 3 Einträge eines Users sind.
Jetzt würde ich gerne diese letzte Bedingung ändern, dass die letzten 3 Einträge eines Benutzers an unterschiedlichen Tagen selectiert werden.
Sozusagen wenn ein User an einem Tag 10 Änderungen macht, soll nur die letzte hiervon und 2 weitere von Tagen davor genommen werden

Hier der vorhandene Befehl:


SELECT id, updatedOn, updatedBy FROM master AS master1
WHERE updatedOn NOT BETWEEN
DATEADD(\"d\", -6, DATEADD(\"d\", -DAY(CAST(updatedOn as Datetime)), DATEADD(\"m\", 1, CAST(updatedOn AS Datetime))))
AND
DATEADD(\"d\", -DAY(CAST(updatedOn as Datetime))+1, DATEADD(\"m\", 1, CAST(updatedOn AS Datetime)))
AND master1.updatedOn NOT IN
((SELECT TOP 3 updatedOn FROM master AS master2
WHERE master1.updatedBy = master2.updatedBy ORDER BY updatedOn DESC))
 
Zuletzt bearbeitet von einem Moderator:
Formatier den Quark doch bitte erst einmal lesbar.

Im Forum gibt es dafür das Plain-Tag
und generell natürlich Einrückungen usw.

Das kann ja kein Mensch lesen.

Grüsse bb
 
Zurück