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))
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: