Einzelnen Beitrag anzeigen

HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#4

AW: Ergebnis auf einen Datensatz reduzieren

  Alt 29. Mai 2024, 16:48
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
Miniaturansicht angehängter Grafiken
sql1.jpg   sql2.jpg  
  Mit Zitat antworten Zitat