Nun ich schon wieder
Bitte um Hilfe von den
SQL Profis hier. Ich habe eine
SQL Abfrage die mir die Gesamtzahl der Lieferungen eines Artikels zeigen soll:
Delphi-Quellcode:
SELECT
ABFDocAuftragNr,
ABFPosMenge,
ABFPosArtNr,
(
SELECT distinct SUM(ABFPosMenge)
FROM ABFDok AS D
INNER JOIN ABFPos AS P ON D.ABFDocID = P.ABFPosdocID
WHERE D.ABFDocOptFertig = false AND
D.ABFDocVisType = 2 AND
P.ABFPosEPreis > 0 AND
P.ABFPosType IN (0, 7) AND
P.ABFPosNr <> '' AND
P.ABFPosArtNr = ABFPos.ABFPosArtNr
) AS TotalSum
FROM
ABFDok
INNER JOIN
ABFPos ON ABFDok.ABFDocID = ABFPos.ABFPosdocID
WHERE
ABFDocOptFertig = false AND
ABFDocVisType = 2 AND
ABFPosEPreis > 0 AND
ABFPosType IN (0, 7) AND
ABFPosNr <> ''
ORDER BY ABFPosArtNr;
Das Ergebis sieht so aus:
ABFDocAuftragNr ABFPosMenge ABFPosArtNr TotalSum
Text[8] Currency Text[22] Currency
------------------------------------------------------------------
A023705 10 1031009-011 10
A023705 10 1031010-046 10
A023705 12 1031019-017 12
A023705 5 1031040-006 5
A023705
3 1036020-002 12
A023705
9 1036020-002 12
A023705 2 1036023-005 2
A023705 5 1041812 5
A023854 5 1061853 5
A023850 1 1062558 1
A023850 1 1062559 1
A023763 1 1119022 3
A023763 2 1119022 3
Nun wird der Artikel 1036020-002 zweimal aufgeführt, die TotalSum passt also 1 x 3 St. + 1 x 9 St. = 12.
Frage aller Fragen: Wie kann ich es bewerkstelligen, dass nur einmal der Datensatz angezeigt wird, also jede Artikelnummer einzeln und nicht doppelt?
Wenn ihr helfen könntet, wäre mein Tag super.
LG Harry