Hallo, ich habe ein kleines problem wie in der Überschrift steht.
Folgender Hintergrund:
Es werden Geräte aufgearbeitet, welche dann gesammelt auf einer Palette versendet werden.
Ich möchte nun einen Bericht erstellen, auf dem alle geräte einer Palette aufgelistet sind. Soweit so gut, funktioniert alles hervorragend :)
Nun mein eigentliches Problem:
Es werden zwar alle verbauten Ersatzeile aufgenommen, auf den Bericht und berechnet werden sollen aber nur die 10 teuersten ersatzeile, welche in das jeweilige Gerät eingebaut worden sind.
Welchen Ansatz könnt ihr mir da nahelegen?! Ich habe es bis jetzt nicht rausbekommen. Liegt es an der Abfrage oder eher am Bericht?!
Im Anhang ein Screenshot von der erstellten Abfrage
Hallo,
ich hätte folgenden Vorschlag dazu:Select G.Seriennummer, GT.Ersatzteilnummer, E.Bezeichnung, E.Preis
From (Geräte As G Inner Join Geräteteile As GT On G.Position = GT.Position)
Inner Join Ersatzteile As E On E.Ersatzteilnummer = GT.Ersatzteilnummer
Where G.Ausgangspalette = [Ausgangspalette?] AND E.Ersatzteilnummer IN
(Select Top 10 E2.Ersatzteilnummer From Ersatzteile As E2
Inner Join Geräteteile As GT2 ON E2.Ersatzteilnummer = GT2.Ersatzteilnummer
Where GT2.Position = G.Position
Order By E2.Preis Desc)
aber vermutlich kann man das auch noch geschickter (=performanter) lösen.
BTW:
In Zukunft bei Abfragen bitte nur den SQL-Code zeigen.