SQL Rätsel, wie man das späteste Datum für einen Teil auswählt, aber nur 1 Zeile pro Teil (eindeutig)

ch versuche heute morgen, meinen Kopf darum zu wickel

Ich versuche zu zeigen,inventory Status für Teile (für unsere Produkte) und diese Abfrage wird nur dann komplex, wenn ich versuche, alle Teile zurückzugeben.

Lass es mich auslegen:

single tableinventoryReportIch habe eine eindeutige Liste von X Teilen, die ich anzeigen möchte. Das Ergebnis muss eine X-Zeilenzahl sein (1 Zeile pro Teil mit dem letzten Inventareintrag).table besteht aus datierten Einträgen von Inventaränderungen (daher brauche ich nur dasLATEST Datumseingabe pro Teil). Alle Daten in dieser einzelnen Tabelle, daher sind keine Verknüpfungen erforderlich.

erzeit ist es für 1 Einzelteil ziemlich einfach, und ich kann dies erreichen, indem ich den folgenden SQL-Code verwende (um Ihnen eine Vorstellung zu geben):

SELECT     TOP (1) ldDate, ptProdLine, inPart, inSite, inAbc, ptUm, inQtyOh + inQtyNonet AS in_qty_oh, inQtyAvail, inQtyNonet, ldCustConsignQty, inSuppConsignQty
FROM         inventoryReport
WHERE     (ldPart = 'ABC123')
ORDER BY ldDate DESC

das bringt mir meine TOP 1 Reihe, so einfach pro Teil, aber ich muss alle X anzeigen (sagen wir 30 Teile). Also brauche ich 30 Zeilen, mit diesem Ergebnis. Natürlich wäre die einfache Lösung, X # von SQL-Aufrufen in meinem Code zu schleifen (aber es wäre kostspielig), und das würde ausreichen, aber zu diesem Zweck würde ich diese SQL gerne noch etwas weiter bearbeiten, um die x # -Aufrufe zurück an die Datenbank zu reduzieren (falls nicht benötigt) auf nur 1 Abfrage.

Nach allem, was ich hier sehen kann, muss ich irgendwie das aktuelle Datum pro Artikel verfolgen, während ich nach meiner Ergebnismenge suche.

Ich würde letztendlich ein @ mach

WHERE ldPart in ('ABC123', 'BFD21', 'AA123', etc)

, um die Teile zu begrenzen, die ich brauche. Hoffentlich habe ich meine Frage klar genug formuliert. Lass es mich wissen, wenn du eine Idee hast. Ich kann kein @ machDISTINCT Da die Zeilen nicht identisch sind, muss das Datum das neueste sein und ich benötige maximal X Zeilen.

Gedanken? Ich stecke fest..

Antworten auf die Frage(6)

Ihre Antwort auf die Frage