Ich habe das Statement etwas komplex geschrieben, weil ich dachte, dass du alle Spalten aus deiner Umsatztabelle haben möchtest. Wenn es nur um die Schlüssel geht, ist es viel einfacher:

select firma, kunde, artikel, max(datum) as datum from umsatz
group by firma, kunde, artikel;

Das müsste genau dein gewünschtes Ergebnis liefern.

Mit create view ... kannst du das dann ablegen und jeder kann darauf zugreifen.