在线等,解决就结贴

johnny1983 2006-04-22 06:14:51
我想在datagrid里面绑定数据库算出后的字段RegularWage(基本工资)和OvertimeWage(加班工资)
select Task_Info.TaskID,Task_Info.TaskName,sum((Staff_Info.RegularWage)*Task_Assign.Duration*8) as RegularWage,(isnull(sum(Staff_Info.OvertimeWage),0)*Task_Assign.Duration*4) as OvertimeWage
from Task_Info,Staff_Info,Task_Assign,Task_Staff
where Task_Info.ProjectID=8 and Staff_Info.StaffID=Task_Staff.StaffID

报错如下
服务器: 消息 8118,级别 16,状态 1,行 1
列 'Task_Info.TaskID' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
服务器: 消息 8118,级别 16,状态 1,行 1
列 'Task_Info.TaskName' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
服务器: 消息 8118,级别 16,状态 1,行 1
列 'Task_Assign.Duration' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。

请教大大们怎么改这句话
...全文
101 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xeqtr1982 2006-04-22
  • 打赏
  • 举报
回复
select Task_Info.TaskID,
Task_Info.TaskName,
sum((Staff_Info.RegularWage)*Task_Assign.Duration*8) as RegularWage,
(isnull(sum(Staff_Info.OvertimeWage),0)*Task_Assign.Duration*4) as OvertimeWage
from Task_Info,Staff_Info,Task_Assign,Task_Staff
where Task_Info.ProjectID=8 and Staff_Info.StaffID=Task_Staff.StaffID
group by Task_Info.TaskID,Task_Info.TaskName,Task_Assign.Duration

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧