Daisserdochnoch
Benutzer
- Beiträge
- 8
Hallo,
Ich habe eine Liste mit Meldungen, die automatisch ins System laufen, manche Meldungen erfolgen mehrfach
Jede Meldung hat eine laufende Nummer und eine Meldezeit
Ich möchte bestimmte Meldungen filtern, aber auch die doppelten Meldungen rausnehmen. Wenn ich nur die Meldungen Selectiere, ginge das ja einfach mit Distinct. Ich benötige dazu aber auch die laufende Nummer und die Meldezeit. Daher mache ich es mit Group By wie folgt:
Select lfnr, Meldung, Concat(...), Meldezeit
From Tabelle
Where .... and Meldezeit > ...
Group By Meldung
Order By Meldezeit desc
Jetzt gibt mir Group By allerdings immer die früheste Meldezeit, wenn eine gleiche Meldung zu einem späteren Zeitpunkt kommt, dann ändert sich der Eintrag mit dieser Query nicht.
Kann man das hinkriegen, dass nur die Laufnummer und Meldezeit der aktuellsten Meldung in der Gruppierung angegeben wird?
Ich hoffe ihr versteht den Unterschied,
also wenn ich das "Meldezeit > " ändere, dann können sich die gefundenen Einträge der Meldezeiten ändern, wenn nur die aktuellste Meldezeit in der Gruppieung ist, dann wäre bei jeder "Meldezeit > .." Kondition die gleiche Meldezeit im Eintrag.
------------
Alternativ könnte ich wohl erst mit Distinct die Fehlermeldung eindeutifizieren,
die Meldezeit und Laufnummer für eine Meldung auf das größte Filtern und das dann irgendwie verknüpfen, aber wie das zu bewerkstelligen ist mit Code....
Ich habe eine Liste mit Meldungen, die automatisch ins System laufen, manche Meldungen erfolgen mehrfach
Jede Meldung hat eine laufende Nummer und eine Meldezeit
Ich möchte bestimmte Meldungen filtern, aber auch die doppelten Meldungen rausnehmen. Wenn ich nur die Meldungen Selectiere, ginge das ja einfach mit Distinct. Ich benötige dazu aber auch die laufende Nummer und die Meldezeit. Daher mache ich es mit Group By wie folgt:
Select lfnr, Meldung, Concat(...), Meldezeit
From Tabelle
Where .... and Meldezeit > ...
Group By Meldung
Order By Meldezeit desc
Jetzt gibt mir Group By allerdings immer die früheste Meldezeit, wenn eine gleiche Meldung zu einem späteren Zeitpunkt kommt, dann ändert sich der Eintrag mit dieser Query nicht.
Kann man das hinkriegen, dass nur die Laufnummer und Meldezeit der aktuellsten Meldung in der Gruppierung angegeben wird?
Ich hoffe ihr versteht den Unterschied,
also wenn ich das "Meldezeit > " ändere, dann können sich die gefundenen Einträge der Meldezeiten ändern, wenn nur die aktuellste Meldezeit in der Gruppieung ist, dann wäre bei jeder "Meldezeit > .." Kondition die gleiche Meldezeit im Eintrag.
------------
Alternativ könnte ich wohl erst mit Distinct die Fehlermeldung eindeutifizieren,
die Meldezeit und Laufnummer für eine Meldung auf das größte Filtern und das dann irgendwie verknüpfen, aber wie das zu bewerkstelligen ist mit Code....
Zuletzt bearbeitet: