Folgendes Problem:
Für eine ABC-Kundenanalyse möchte ich wissen welcher Umsatz jeder Kunde gemacht hat. Hierzu verwende ich folgende SELECT Anweisung:
SELECT SUM(GesamtNetto) as Summe, KundenNr, Adressfeld1
FROM Rechnung_s
WHERE RechnungDatum BETWEEN '01.01.2005' AND '31.12.2005'
GROUP BY KundenNr, Adressfeld1
ORDER BY Summe desc
Leider gibt es in der Tabelle Rechnung_s aber Datensätze in denen zwar die KundenNr gleich ist, aber im Adressfeld1 der Name anders ist, weil z.B. die Firmenbezeichnung irgendwann geändert wurde. Da das Adressfeld1 aber in der GROUP BY Funktion steht, bekomme ich im Ergebnis jetzt 2 oder mehr Datensätze für diese Kunden,. Was nix anderes bedeutet als das der Kunde mit der KundeNr XY in meiner Analyse mehrfach mit einzelen Umsätzen auftaucht.
Um das zu umgehen kann ich natürlich die Select Anweisung nur über die Felder GesamtNetto und KundenNr machen, habe dann aber in der Ausgabe keine Kundenbezeichnung.
Ich würde also gerne das Ergebnis zwischenspeichern und mit einer zweiten Abfrage die passende Kundenbezeichnung zur Kundennummer aus der Kundentabelle holen.
Wie gehe ich am Beste von. Kann ich das Ergebnis temporär zwischenspeichern oder das Ganze vielleicht doch in EINER kombinierten Abfrage machen?
Für Vorschläge wäre ich sehr dankbar.
Gruß
Thomas
Für eine ABC-Kundenanalyse möchte ich wissen welcher Umsatz jeder Kunde gemacht hat. Hierzu verwende ich folgende SELECT Anweisung:
SELECT SUM(GesamtNetto) as Summe, KundenNr, Adressfeld1
FROM Rechnung_s
WHERE RechnungDatum BETWEEN '01.01.2005' AND '31.12.2005'
GROUP BY KundenNr, Adressfeld1
ORDER BY Summe desc
Leider gibt es in der Tabelle Rechnung_s aber Datensätze in denen zwar die KundenNr gleich ist, aber im Adressfeld1 der Name anders ist, weil z.B. die Firmenbezeichnung irgendwann geändert wurde. Da das Adressfeld1 aber in der GROUP BY Funktion steht, bekomme ich im Ergebnis jetzt 2 oder mehr Datensätze für diese Kunden,. Was nix anderes bedeutet als das der Kunde mit der KundeNr XY in meiner Analyse mehrfach mit einzelen Umsätzen auftaucht.
Um das zu umgehen kann ich natürlich die Select Anweisung nur über die Felder GesamtNetto und KundenNr machen, habe dann aber in der Ausgabe keine Kundenbezeichnung.
Ich würde also gerne das Ergebnis zwischenspeichern und mit einer zweiten Abfrage die passende Kundenbezeichnung zur Kundennummer aus der Kundentabelle holen.
Wie gehe ich am Beste von. Kann ich das Ergebnis temporär zwischenspeichern oder das Ganze vielleicht doch in EINER kombinierten Abfrage machen?
Für Vorschläge wäre ich sehr dankbar.
Gruß
Thomas
Comment