我想算出,每个分公司,中每个人的业务技能和,服务态度和以及工作效率和。(每个公司都有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老是提示:
单行子查询返回多行,该如何写呢?

解决方案 »

  1.   

    想要的结果就是
    分公司    姓名    技能  态度  时效
    000001    张三    xx    xx    xx
    000001    李四    xx    xx    xx
    000002    张三    xx    xx    xx
    000002    李四    xx    xx    xx 
      

  2.   

    (select prebmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) companyid,
    (select bmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) branchi肯定是上面2条语句中有的会返回多条记录。
      

  3.   

    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试试~
      

  4.   

    (select prebmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) companyid,
    (select bmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm) branchid,
     where 条件 建议使用主键,如usercode。
      

  5.   

    select prebmdm from businessareaconcentrade where bmdm_name=busi.examinebmdm   
    可能是查询返回多个重复数据? 加个distinct看可以不