Ich hbae irgendwie ein Problem mit der richtigen Erstellung einer Sicht. Ziel ist es, eine Sicht auf eine Tabelle zu erstellen, in welcher zu verschiedenen Werten jeweils gleiche Datensätze existieren. Unterscheiden kann man jedoch nach dem Anlagedatum. Innerhalb der Sicht sollen nun nur alle DS mit dem jeweiligen maximalen Datum erscheinen.
SELECT Jahr, Monat, KST, KA, MAX(Datum) AS MaxDatum
FROM Tabelle
GROUP BY Jahr, Monat, KST, KA
;
erzeugt als Unterquery die Maximalwerte und jetzt must Du nur noch die entsprechenden Werte dazu heraus suchen
SELECT a.Jahr, a.Monat, a.KST, a.KA, a.Betrag, a.Datum
FROM Tabelle A,
(SELECT Jahr, Monat, KST, KA, MAX(Datum) AS MaxDatum
FROM Tabelle
GROUP BY Jahr, Monat, KST, KA
) B
WHERE a.jahr = b.jahr
AND a.Monat= b.Monat
AND a.KST = b.kst
and a.datum= b.datum
;
SELECT a.Jahr, a.Monat, a.Kostenart, a.Kostenstelle, SUM(a.Betrag) AS Summe
FROM Tabelle a INNER JOIN
(SELECT Jahr, Monat, Kostenart, Kostenstelle, Produkt, Teilprodukt, MAX(Datum) AS MaxDatum
FROM Tabelle
GROUP BY Jahr, Monat, Kostenart, Kostenstelle, Produkt, Teilprodukt) b ON a.Jahr = b.Jahr AND a.Monat = b.Monat AND
a.Kostenart = b.Kostenart AND a.Kostenstelle = b.Kostenstelle AND a.Produkt = b.Produkt AND a.Teilprodukt = b.Teilprodukt AND
a.Datum = b.MaxDatum
GROUP BY a.Jahr, a.Monat, a.Kostenart, a.Kostenstelle