当前位置: 代码迷 >> Oracle管理 >> SQL 初学,请指点
  详细解决方案

SQL 初学,请指点

热度:345   发布时间:2016-04-24 04:20:11.0
SQL 初学,请指导
本帖最后由 guoxia584520 于 2014-04-04 14:07:55 编辑
A表:empno,empname,deptname,group,password
            1             张三           人事部       2           123
             2            李四            电脑部      1            123
B表:empno,number1
                1            100
                1             200
                1             50
                 2            100
                 2             10
想要的结果C表:
empno,empname,deptname,group,password,number
     1            张三           人事部       2           123         350
     2           李四            电脑部       1           123          150


如何实现。。。。。。
------解决方案--------------------
select a.empno,empname,deptname,group,password,sum(b.number1) from a,b
 where a.empno=b.empno(+) group by a.empno,empname,deptname,group,password

------解决方案--------------------



select a.empno, a.empname, a.deptname, a.gp, a.pwd,b.sumber from A a left join 
(select empno ,sum(number1) sumber from B group by empno) b on a.empno=b.empno;


------解决方案--------------------

select t0.empno,
       t0.empname,
       t0.deptanme,
       t0.groupid,
       t0.passwork,
       t1.number1
  from A t0,
       (select empno, sum(number1) as number1 from B group by empno) t1
 where t0.empno = t1.empno(+)
 order by t0.empno;


------解决方案--------------------
引用:

select t0.empno,
       t0.empname,
       t0.deptanme,
       t0.groupid,
       t0.passwork,
       t1.number1
  from A t0,
       (select empno, sum(number1) as number1 from B group by empno) t1
 where t0.empno = t1.empno(+)
 order by t0.empno;



你的语句确定能得到这样的结果,通过上面的描述首先我觉的有问题, 1的和加起来是350, 2的加起来是110 ,怎么得到的150?
  相关解决方案