je dois requête suivante dans SQL Server:conditionnelle Max dans SQL
SELECT EmployeeID,
TotalQuantity AS TotalQty,
TotalSales,
MAX(CASE WHEN MonthNumber = MAX(MonthNumber)
THEN TotalSales END) as RecentMonthSale
FROM vwSales
GROUP BY EmployeeID, TotalQuantity , TotalSales
Bu il me donne l'erreur:
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
Voir entrée est la suivante:
EmployeeID TotaSales MonthNumber
1 4000 1
1 6000 2
2 8500 1
2 6081 2
Résultat désiré:
EmployeeID TotalSale RecentMonthSale
1 10000 6000
2 14581 6081
3 11458 1012
Je veux la colonne suivante dans ma sortie EmployeeID, TotalQuantity TotalSale RecentMonthSale
Mon vue a la colonne suivante EmployeeID TotalSale,TotalQuantity, MonthNumber
.
Pouvez-vous expliquer ce que vous attendez la requête de montrer? –
Cette mise à jour n'explique pratiquement rien. donnez la définition exacte de la ou des tables, la définition exacte de la vue, et que voulez-vous que la requête renvoie (comme dans 'les ventes totales et les ventes les plus récentes pour chaque employé). –
question mise à jour – Tassadaque