So nun habe ich etwas optimiert.
Doppelten Einträge sind draussen.
Hier die View.
SQL-Code:
SELECT TOP (100) PERCENT Materialkennummer AS Kennummer, YEAR(aktuelles_Datum) AS Aktuelles_Jahr
FROM dbo.Lagerbewegung
WHERE (Bewegung = N'Abgang')
GROUP BY Materialkennummer, YEAR(aktuelles_Datum)
ORDER BY Kennummer, Aktuelles_Jahr
Hier die Abfrage ansich:
SQL-Code:
SELECT TOP (100) PERCENT a.Kennummer, MAX(a.Warenbezeichnung) AS Warenbezeichnung, MAX(a.Bestand) AS Bestand, MAX(a.Einheit) AS Einheit,
MAX(a.Preis) AS Preis, MAX(ROUND(a.Preis * a.Bestand, 0)) AS PrSt, MAX(a.Lager) AS Lager, MAX(a.Fachnummer) AS Fachnummer, MAX(a.Datum)
AS Anlege_Datum, MAX(dbo.VW_Lagerbewegung_Year.Aktuelles_Jahr) AS Neueste_Bewegung
FROM dbo.Lagerliste AS a INNER JOIN
dbo.VW_Lagerbewegung_Year ON a.Kennummer = dbo.VW_Lagerbewegung_Year.Kennummer
WHERE (NOT EXISTS
(SELECT Kennummer
FROM dbo.VW_Lagerbewegung_Year AS b
WHERE (Kennummer = a.Kennummer) AND (Aktuelles_Jahr IN ('2008', '2007'))))
GROUP BY a.Kennummer
ORDER BY Anlege_Datum, Fachnummer
Nun muss ich es ein wenig testen ob auch wirklich alles soweit Konform ist.