select 
 SUM(Salary) as TotalSalary,Employee.Name 
 from Employee,Record 
 where Employee.ID=Record.EmployeeID
 group by EmployeeID,Employee.Name

解决方案 »

  1.   

    你的group by 错了select EmployeeID,
     SUM(Salary) as TotalSalary,Employee.Name 
     from Employee,Record 
     where Employee.ID=Record.EmployeeID
     group by EmployeeID,Employee.Name
      

  2.   

    错误原因:Employee.Name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中
    create table #Employee(ID int,Name varchar(10))
    insert #employee values(1,'a')
    insert #employee values(2,'b')
    go
    create table #record(salary int,employeeid int)
    insert #record values(10,1)
    insert #record values(30,1)
    insert #record values(20,2)
    insert #record values(60,2)
    go应该改为如下:
    select #employee.name,c.totalsalary
    from #employee,
    (select 
     SUM(Salary) as TotalSalary,employeeid
     from #Employee,#Record 
     where #Employee.ID=#Record.EmployeeID
     group by EmployeeID) c
    where id=c.employeeid
      

  3.   

    SELECT Sum(Salary) As TotalSalary, Employee.Name
      From Employee INNER JOIN Record
           ON Employee.ID=Record.EmployeeID
     GROUP BY Employee.Name