2016-05-11 10 views
0

Ich versuche, den größten Verkauf von jedem Mitarbeiter auf Northwind-Datenbank aufzulisten, und das Beste, was ich tun konnte, ist dies;Größter Verkauf von jedem Mitarbeiter auf Northwind?

Aber obwohl ich die Gruppe verwendet habe, bekomme ich wiederholte Aufzeichnungen;

TotalSale    Name       ProductName 
15810,00    Andrew Fuller     Côte de Blaye 
15810,00    Nancy Davolio     Côte de Blaye 
10540,00    Robert King      Côte de Blaye 
10540,00    Anne Dodsworth     Côte de Blaye 
10540,00    Margaret Peacock    Côte de Blaye 
9903,20    Janet Leverling     Thüringer Rostbratwurst 
8432,00    Steven Buchanan     Côte de Blaye 
7905,00    Janet Leverling     Côte de Blaye 
7427,40    Andrew Fuller     Thüringer Rostbratwurst 
Warning: Null value is eliminated by an aggregate or other SET operation. 

(9 row(s) affected) 

So habe ich 9 Mitarbeiter und ich Top-Funktion für das, aber die Mitarbeiter sind nicht einzigartig, ich habe auch versucht, bestimmte Funktion zu verwenden, aber es hat nicht funktioniert.

Also ich würde eine Hand bitte schätzen!

Antwort

0

Ihr Problem ist, dass Sie auch nach Produktname gruppieren. So erhalten Sie maximale Verkäufe pro Mitarbeiter und pro Produktname.

Was Sie tun können, ist, den Produktnamen in der Gruppe zu löschen, in diesem Fall sehen Sie maximale Gesamtverkäufe nur pro Mitarbeiter.

select max(Quantity*OrderDetails.UnitPrice) TotalSale, FirstName+' '+LastName Name 
from Orders 
left join [Order Details] as OrderDetails on OrderDetails.OrderID=Orders.OrderID 
left join Employees on Orders.EmployeeID=Employees.EmployeeID 
left join Products on OrderDetails.ProductID=Products.ProductID 
group by FirstName,LastName 
order by TotalSale desc 

Falls Sie auch die Produktnamen, um zu sehen, können Sie Ihre Abfrage in einer Unterabfrage einkapseln und eine rownum basierend auf Mitarbeiternamen und um durch einen Gesamtumsatz erstellen. In der äußeren Abfrage können Sie Zeilen mit der Wurzel 1 auswählen. Verwenden Sie die Rangfunktion, falls Sie alle Vorkommen von Produktnamen anzeigen müssen.

+0

Ich verstehe Ihre Lösung über Produktname, aber ich kann nicht scheinen, damit es funktioniert. Schrecklich leid. Kannst du mir zeigen, wie würdest du es machen? –

+0

Vielen Dank –