2011-07-21 10 views
0

このクエリに戻る。だから私はサブクエリで正しくこれをやっていると思った。 。 。それは、集計関数またはGROUP BY句に含まれていないため集計に含まれていないか、または含まれていません。 。

use Northwind 
Select * From (
SELECT FirstName + ' ' + LastName as 'Full Name', 
sum(UnitPrice * Quantity) as 'Total Sales', 
YEAR(OrderDate) as SalesYear 
From Employees e 
Join Orders o on o.EmployeeID = e.EmployeeID 
join OrderDetails od on od.OrderID = o.OrderID) as subst 
Group by 'Full Name', SalesYear 
Order by 'Total Sales' desc 

私が手にエラーが。私は、以前のサブクエリせずにそれを持っていたし、それがうまく働いた選択リストで「無効です。。。

答えて

2

集約関数(たとえばSUM)とグループ化は、クエリの同じ「レベル」で行われなければなら:。

use Northwind 
Select 'Full Name',SalesYear,SUM(Sale) as 'Total Sales' From (
    SELECT FirstName + ' ' + LastName as 'Full Name', 
    UnitPrice * Quantity as Sale, 
    YEAR(OrderDate) as SalesYear 
    From Employees e 
     Join Orders o on o.EmployeeID = e.EmployeeID 
     join OrderDetails od on od.OrderID = o.OrderID) as subst 
Group by 'Full Name', SalesYear 
Order by 'Total Sales' desc 
+0

物事をクリアそのおかげで。 – surfasb

関連する問題