Gelöst SQL abfragen - Sendungsnummer & Stückliste

lx777__

Gut bekanntes Mitglied
22. Juli 2019
98
40
Köln
Ich suche die Tabelle bzw. Spalte, in der man die Sendungsnummer/n zum Auftrag abfragen kann und wie man je Auftrag entweder keine Stücklistenkomponenten-Artikelnummern ausgibt oder nur die Stücklistenkomponente.

Ich möchte zu jeder Auftragsnummer die verkauften Artikelnummern, die Anzahl dieser und die Sendungsnummern abfragen.

Aktuelle SQL Abfrage:
SELECT A.cAuftragsNr, AP.cArtNr, AP.fAnzahl, V.cIdentcode
FROM Verkauf.tAuftrag A
INNER JOIN Verkauf.tAuftragPosition AP ON A.kAuftrag = AP.kAuftrag
LEFT JOIN dbo.tVersand V ON A.kVersandart = V.kVersandArt
WHERE A.dErstellt >= CONVERT(DATETIME, '2023-02-01', 120) AND A.dErstellt <= CONVERT(DATETIME, '2023-02-28', 120)

Bei uns bestehen sehr viele Artikel aus einer 1:1 Stückliste.
Dadurch wird bei dieser Abfrage, im Fall das ein Stückliste verkauft wurde, zu einem Auftrag sowohl die SKU des verkauften Artikel angezeigt als auch die SKU der Stücklistenkomponente.

Über jegliche Hilfestellung wäre ich sehr dankbar.
 

Karobube

Sehr aktives Mitglied
23. September 2020
186
150
Remote via AnyDesk
Firma
contact@karobube.com
SQL:
DECLARE @FROM DATETIME = CONVERT(DATETIME, '2023-02-01', 120)
DECLARE @UNTIL DATETIME = CONVERT(DATETIME, '2023-02-28', 120)
SELECT A.cAuftragsNr, AP.cArtNr, AP.fAnzahl, V.cIdentcode
FROM Verkauf.tAuftrag A
JOIN Verkauf.tAuftragPosition AP ON A.kAuftrag = AP.kAuftrag
JOIN tArtikel Ar ON Ar.kArtikel = AP.kArtikel
LEFT JOIN tLieferscheinPos LP ON AP.kAuftragPosition = LP.kBestellPos
LEFT JOIN tVersand V ON V.kLieferschein = LP.kLieferschein
WHERE 
A.dErstellt BETWEEN @FROM AND @UNTIL
AND Ar.kStueckliste = 0
 

lx777__

Gut bekanntes Mitglied
22. Juli 2019
98
40
Köln
Vielen vielen Dank.
Bei mir hat cIdentCode für alle Aufträge dieselbe Sendungsnummer ausgegeben.
Bei deinem Code ist es genau richtig :)

Eine letzte Frage hätte ich noch:
Falls eine Sendung 2 Pakete enthält und demnach auch 2 Sendungsnummern, so wird hier wahrscheinlich nur das erste Paket berücksichtigt.

Gibt es eine Möglichkeit im Fall von 2 Paketen auch die zweite Sendungsnummer abzufragen?

EDIT:
Habe gerade einen Auftrag mit einer zweiten Sendungsnummer angeschaut.
Beide Sendungsnummern tauchen hier auf.
Dafür wird aber der komplette Auftrag doppelt aufgelistet mit der Auftragsnummer und allen enthaltenen Artikeln und Mengen.
 
Zuletzt bearbeitet: