2017-02-07 3 views
1

Ich habe eine Spalte namens Balance und eine andere Spalte namens repnum. Repnum repräsentiert einen Vertreter, der sich um die Kunden kümmert. Ich habe es geschafft, den Namen des Kunden zu erfassen, den spezifischen Vertreter, nach dem ich suche (15), und ich weiß, dass ich das Gleichgewicht finden kann, indem ich herausnehme (Summe), aber was ich tun möchte, ist die Summe von die Saldosäule mit nur den Bestellungen von 15. Das ist, was ich zur Zeit erdacht:Wie erhält man die Summe der Spalte aus bestimmten Vertreterbestellungen?

select customername, repnum, sum(balance) balance from customer where repnum = '15' 

Antwort

2

In der Summe Funktion eine Über Klausel durch die Notwendigkeit einer Gruppe zu verhindern:

Select customername, 
     Repnum, 
     Sum(balance) over(partition by repnum) balance 
From customer 
Where repnum = 15 
+0

Funktioniert perfekt, könnten Sie zufällig erklären, was Partition tut? Wenn man es anschaut, scheint es so zu sein, als würde man alles in repnum hinzufügen. – Danny

+0

[Beginnen Sie hier] (https://msdn.microsoft.com/en-us/library/ms189461.aspx), spielen Sie mit ihm auf anderen Fensterfunktionen, Sie werden es besser verstehen, dann kann ich erklären. –

1

ich glaube, Sie nur group by customername, repnum bis Ende hinzufügen Ihre Anfrage.

+0

Wenn Sie den Saldo für jeden Kunden und Repnum summieren möchten, ja. –

Verwandte Themen