C'est une requête basée sur la base de données Northwind dans MS SQL Server 2005.requêtes SQL pour trouver le maximum d'un ensemble de moyennes
D'abord, je dois obtenir la moyenne des UnitPrice de la table OrderDetails, et le groupe il par ProductID pour cette seule colonne et l'alias AveragePrice.
Ensuite, j'ai besoin de trouver le maximum (AveragePrice) qui n'est rien d'autre que le maximum de la colonne précédente, comment puis-je le faire ??? C'est une sorte de très difficile pour moi, ça me prend des années pour y réfléchir.
select
O.CustomerID,
E.EmployeeID,
E.FirstName+space(1)+E.LastName FullName,
OD.OrderID,
OD.ProductID,
(select avg(DO.UnitPrice) from OrderDetails
DO where OD.ProductID = DO.ProductID
group by DO.ProductID) AveragePrice ,
from OrderDetails OD
join Orders O
on OD.OrderID = O.OrderID
join Customers C
on C.CustomerID = O.CustomerID
join Employees E
on E.EmployeeID = O.EmployeeID
Ce n'est pas une question de devoirs, je apprends SQL, mais je suis vraiment coincé à ce moment-là, s'il vous plaît aidez-moi.
Si vous obtenez des erreurs lors de votre première implémentation, vérifiez et confirmez. sélectionner O.CustomerID, E.EmployeeID, E.FirstName + espace (1) + E.LastName FullName, OD.OrderID, OD.ProductID, (select avg (DO.UnitPrice) à partir de OrderDetails DO où OD.ProductID = groupe DO.ProductID par DO.ProductID) AveragePrice, select max (AveragePrice) sous la forme de MaxAveragePrice (select avg (ODD.UnitPrice) comme AveragePrice de OrderDetails groupe ODD par ODD.ProductID) ABA de OrderDetails OD joindre les commandes O sur OD.OrderID = O.OrderID rejoindre les clients C sur C.CustomerID = O.CustomerID rejoindre les employés E sur E.EmployeeID = O.EmployeeID – user338292
Désolé pour la mauvaise mise en forme, il suffit de copier et sélectionnez-le, sélectionnez ... – user338292
atrueguy: ma réponse n'a pas été conçu pour être utilisé comme sous-requête. c'est complet – gbn