group by语句如何写?

haoztao 2011-12-21 02:28:36
我想算出,每个分公司,中每个人的业务技能和,服务态度和以及工作效率和。(每个公司都有N个相同的人名)SQL语句如下。

select companyid,examineduser,
sum(taskskill),
sum(serviceattitude),
sum(taskefficiency)
from
(
select
(select prebmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) companyid,
(select bmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) branchid,
busi.examineduser,busi.examinedname,
busi.taskskill,
busi.serviceattitude,
busi.taskefficiency
from busiDeptSatisfQuestionnaire busi
) a
group by companyid,examineduser

老是提示:
单行子查询返回多行,该如何写呢?
...全文
81 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haoztao 2011-12-21
  • 打赏
  • 举报
回复
搞定了 多谢各位
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dws2004 的回复:]
select
t.prebmdm companyid,
t.bmdm branchid,
busi.examineduser,
busi.examinedname,
busi.taskskill,
busi.serviceattitude,
busi.taskefficiency
from busiDeptSatisfQuestionnaire busi,businessareaconcentrade t
where t.bmdm_name=busi.examinebmdm and bmdm_name=busi.examinebmdm
[/Quote]

这种应该可以
  • 打赏
  • 举报
回复
select prebmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm
可能是查询返回多个重复数据? 加个distinct看可以不
yanyuan1024 2011-12-21
  • 打赏
  • 举报
回复
(select prebmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) companyid,
(select bmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) branchid,
where 条件 建议使用主键,如usercode。
dws2004 2011-12-21
  • 打赏
  • 举报
回复
select companyid,examineduser,
sum(taskskill),
sum(serviceattitude),
sum(taskefficiency)
from
(
select
t.prebmdm companyid,
t.bmdm branchid,
busi.examineduser,
busi.examinedname,
busi.taskskill,
busi.serviceattitude,
busi.taskefficiency
from busiDeptSatisfQuestionnaire busi,businessareaconcentrade t
where t.bmdm_name=busi.examinebmdm and bmdm_name=busi.examinebmdm
) a
group by companyid,examineduser


试试~
我心飞翔 2011-12-21
  • 打赏
  • 举报
回复
请详细描述要使用到各个表(列名,类型,含义)
我心飞翔 2011-12-21
  • 打赏
  • 举报
回复
(select prebmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) companyid,
(select bmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) branchi

肯定是上面2条语句中有的会返回多条记录。
haoztao 2011-12-21
  • 打赏
  • 举报
回复
想要的结果就是
分公司 姓名 技能 态度 时效
000001 张三 xx xx xx
000001 李四 xx xx xx
000002 张三 xx xx xx
000002 李四 xx xx xx

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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