Hallo,
ist folgendes mit SQL möglich:
Ich habe zwei Tabellen Bestellungen (Belegnummer, Adressnummer (vom Kunden), Datum, Artikelnummer, Menge, Einzelpreis) und Artikel (Artikelnummer, Einkaufspreis).
Ich möchte all diejenigen Artikelnummern, Absatzmenge und Anzahl der Kunden zurückgegeben haben, die in einem bestimmten Zeitraum ( ab dem 1. März 2016) gekauft wurden, aber die Mengen von Kunden, die den Artikel vor diesem Zeitraum gekauft haben, sollen nicht mit berechnet werden.
Mit anderen Worten:
"Welcher Artikel wurde zu welcher Menge seit dem 1. März 2016 "neu" gekauft?"
"Neu" bedeutet in diesem Zusammenhang, wurde vorher von Kunde X nicht gekauft.
Dieses Statement gibt mir jetzt alle Artikel zurück, aber es wird die Absatzmenge von Kunden mitgerechnet, die den Artikel bereits vor dem 1.3. bestellt haben.
Ich hoffe ihr habt verstanden was mein Problem ist. Es ist sehr kompliziert zu erklären und ich stoße an meine Grenzen.
Wenn diese gewünschte Abfrage mit SQL möglich ist, würde ich mich über Anregungen/Ideen/Vorschläge sehr freuen.
ist folgendes mit SQL möglich:
Ich habe zwei Tabellen Bestellungen (Belegnummer, Adressnummer (vom Kunden), Datum, Artikelnummer, Menge, Einzelpreis) und Artikel (Artikelnummer, Einkaufspreis).
Ich möchte all diejenigen Artikelnummern, Absatzmenge und Anzahl der Kunden zurückgegeben haben, die in einem bestimmten Zeitraum ( ab dem 1. März 2016) gekauft wurden, aber die Mengen von Kunden, die den Artikel vor diesem Zeitraum gekauft haben, sollen nicht mit berechnet werden.
Mit anderen Worten:
"Welcher Artikel wurde zu welcher Menge seit dem 1. März 2016 "neu" gekauft?"
"Neu" bedeutet in diesem Zusammenhang, wurde vorher von Kunde X nicht gekauft.
Code:
SELECT a.Artikelnummer,
isnull(sum(b.menge),0) AS Absatzmenge,
isnull(count(DISTINCT b.adressnummer),0) AS AnzahlKunden
FROM Artikel a
LEFT JOIN Bestellungen b
ON a.Artikelnummer = b.Artikelnummer
AND convert(DATE,b.datum) BETWEEN '01.03.2016' AND '01.01.2017'
group by a.Artikelnummer
Dieses Statement gibt mir jetzt alle Artikel zurück, aber es wird die Absatzmenge von Kunden mitgerechnet, die den Artikel bereits vor dem 1.3. bestellt haben.
Ich hoffe ihr habt verstanden was mein Problem ist. Es ist sehr kompliziert zu erklären und ich stoße an meine Grenzen.
Wenn diese gewünschte Abfrage mit SQL möglich ist, würde ich mich über Anregungen/Ideen/Vorschläge sehr freuen.