Hallo Danke, Super!
Jetzt wird es aber wesentlich komplexer mit zwei Tabellen:
1. ABFDok (da sind nur die Dokumente wie Auftrag, Lieferschein, Rechnung etc. gespeichert)
2. ABFPos (da sind die einzelenen Positionen des Auftrags, Lieferschein etc.)
Nun habe ich z.B. im Auftrag eine Bestellmenge eines Artikels von 12 St.
Anhand der ABFDocAuftragsID 106921 = ABFDocID brauche ich in der ABFPos unter der ABFPosDocId die bestellte Menge unter ABFPosMenge = 10St.
Jetzt suche ich alle gelieferten Artikel anhand des Lieferscheins ABFDocVisType = 2 mit der ABFDocID 107348 in ABFPos die gelieferte Menge = 1
Nun wurde aber nochmals eine Teilmenge geliefert, mit Lieferschein ABFDocVisType = 2 und der ABFDocID 1073347 in ABFPos die gelieferte Menge = 2
Da ich jetzt alles habe, soll mir die noch zu liefernde Menge angezeigt werden: 10 St aus Auftrag minus 1 St aus Lieferung1 minus 2 St. aus Lieferung2 also noch 7 st. zu liefern.
Mir brummt schon der Kopf! Beide Queries zu verbinden scheitert mangels Fachkenntissen.
Delphi-Quellcode:
SELECT
ABFDocAuftragNr,
ABFDocDatum,
ABFDocKundeKurzbez,
ABFDocSummeNetto_0,
ABFPosMenge as bestellt,
ABFPosArtNr,
ABFPosName1
FROM
ABFDok
INNER JOIN
ABFPos ON ABFDok.ABFDocAuftragID = ABFPos.ABFPosDocID
WHERE
ABFDocOptFertig = false AND
ABFDocVisType = 1 AND
ABFPosEPreis > 0 AND
ABFPosType IN (0, 7) AND
ABFPosNr <> ''
order by ABFDocAuftragNr;
und wie von Uwe gepostet:
Delphi-Quellcode:
SELECT
ABFDocAuftragNr,
ABFPosArtNr,
SUM(ABFPosMenge) 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 <> ''
GROUP BY ABFPosArtNr, ABFDocAuftragNr
ORDER BY ABFPosArtNr;
Anbei Screenshots.
Ich hoffe auf euere Hilfe.
LG Harry