select a.dept_code , a.costs, d.class_name 
from a,
    (select c.dept_code , b.class_name
    from 
        (select distinct dept_code from b) c ,
        b
    where c.dept_code = b.dept_code)d
where a.dept_code = d.dept_code

解决方案 »

  1.   

    第一个看不明白,什么意思?
    第二个问题:
    update a set 
    dept_name =
    (select b.dept_name FROM b where b.dept_code=a.dept_code)
      

  2.   

    看得出两位对oracle 的sql语句很熟悉,开发任何oracle 数据报表应该没有任何问题了.呵呵.
    对于第一个问题,我试过了,好像不行,但是受到启发,我改写为以下语句就可以了.
    select a.dept_code , a.costs, d.class_name 
    from a,
        (select  dept_code , max( class_name) classname
        from b group by dept_code) d
    where a.dept_code = d.dept_code
    受到启发,也是帮助,给分没商量.
    第2个问题楼上这位朋友写的很对.给分.