2010-06-21 6 views
0

J'ai ces deux tableaux « commandes » et « Employés »L'utilisation globale MAX dans le serveur SQL 2005

Orders Table 

OrderID EmployeeID 
1    1 
2    1 
3    2 
4    7 
5    2 
.    . 
.    . 
.    . 

Employee Table 

EmployeeID Firstname 
1    Matin 
2    Sina 
3    Nima 
.    . 
.    . 
.    . 

Je veux trouver le nom de l'employé qui a plus de commandes.

aussi ce n'est pas mon travail à la maison :) Je suis l'apprentissage des fonctions d'agrégation aussi cette partie de ma requête, mais je ne peux pas obtenir que comment puis-je trouver le maximum ??? s'il vous plaît aidez-moi! Merci

SELECt FirstName FROM Employees E INNER JOIN Orders O ON E.EmployeeID = O.EmployeeID (SELECT Count(EmployeeID) EmployeeCount FROM Orders GROUP BY EmployeeID) 

Répondre

2
Select TOP 1 WITH TIES FirstName, Count(OrderID) 
FROM Employees e 
INNER JOIN Orders o on e.EmployeeID = o.EmployeeID 
GROUP BY FirstName 
ORDER BY Count(OrderID) DESC 

Si doo le tour

+0

Non Je veux montrer que le nom de l'employé qui a plus de commandes !! Par exemple, considérez que ma table Orders ci-dessus a 5 lignes et que ma table Employees a 3 lignes SO 'Sina' et 'Matin' seront affichés comme résultat! – user355002

+0

Retirez le TOP 1. Cela montrera chaque employé, et leur nombre de «Commandes» triés par qui a le plus de commandes – PostMan

+0

Ohh sans le compte ?? – PostMan

Questions connexes