Hi zusammen,
ich will einen Select über die top20 kunden gruppiert auf jedes monat in einem ganzen jahr machen.
Dabei ist der Zeitraum jedoch frei wählbar. also z.b. von 01.01.2007 bis 31.12.2007,
jedoch aber auch von 01.01.2007 bis 31.01.2007.
Die Einschränkung auf einen Monat funktioniert wunderbar, jedoch wenn ich über ein ganzes jahr gehen will, bekomme ich nicht jeden monat 20 kunden.
Könnte sich jemand vielleicht diesen select ansehen und mir für diese select einen verbesserungsvorschlag geben.
Weitere Einschränkungen wären der Markt, also z.B. North America, EU-Central, also sowas.
Danke schon mal im Voraus
Gruß,
Andi
ich will einen Select über die top20 kunden gruppiert auf jedes monat in einem ganzen jahr machen.
Dabei ist der Zeitraum jedoch frei wählbar. also z.b. von 01.01.2007 bis 31.12.2007,
jedoch aber auch von 01.01.2007 bis 31.01.2007.
Die Einschränkung auf einen Monat funktioniert wunderbar, jedoch wenn ich über ein ganzes jahr gehen will, bekomme ich nicht jeden monat 20 kunden.
Könnte sich jemand vielleicht diesen select ansehen und mir für diese select einen verbesserungsvorschlag geben.
Code:
SELECT A0Name1, ROUND(SUM(netto_de), 2) AS umsatz, MIN(CONVERT(varchar(3), Belegdatum)) AS monat
FROM v_khkvkbelege AS belege
WHERE (Belegdatum >= @datumvon) AND (Belegdatum <= @datumbis) AND (Belegart = 'Auftragsbestätigung') AND (Mandant = '1') AND
(Auswertungskennzeichen = @markt) AND (A0Name1 IN
(SELECT TOP 20 A0Name1
FROM v_khkvkbelege
WHERE (Belegdatum >= @datumvon) AND (Belegdatum <= @datumbis) AND (Auswertungskennzeichen = @markt) AND
(Belegart = 'Auftragsbestätigung') AND (Mandant = '1')
GROUP BY A0Name1
ORDER BY SUM(netto_de) DESC))
GROUP BY A0Name1, MONTH(Belegdatum)
Weitere Einschränkungen wären der Markt, also z.B. North America, EU-Central, also sowas.
Danke schon mal im Voraus
Gruß,
Andi