select a.gsmc , isnull(sr,0) sr from table1 m
left join
(select gsdm ,sum(sr) sr from table2 group by gsdm having(sum(sr)) > 3000) n
on m.gsdm = n.gsdm

解决方案 »

  1.   

    select a.gsmc , isnull(n.sr,0) sr from table1 m
    left join
    (select gsdm ,sum(sr) sr from table2 group by gsdm having(sum(sr)) > 3000) n
    on m.gsdm = n.gsdm
      

  2.   


    select a.gsmc,sum(isnull(b.sr,0)) as se 
    from table1 a
    left join table2 b on a.gsdm=b.gsdm and b.se>30000
    where a.gsdm='1300' 
      

  3.   

    在oracle 中怎么用?
    isnull在oracle 中不能使用?
      

  4.   

    select m.gsmc,decode(n.sr,null,0) se from @table1 m
    left join
    (select gsdm ,sum(sr) sr from @table2 group by gsdm having(sum(sr)) > 3000) n
    on m.gsdm = n.gsdm 
      

  5.   


    select a.gsmc , nvl(n.sr,0) sr from table1 m
    left join
    (select gsdm ,sum(sr) sr from table2 group by gsdm having(sum(sr)) > 3000) n
    on m.gsdm = n.gsdm
      

  6.   

    可能我描述的不是很清楚,查询结果是空,而我想看到的是 gsmc           sr汉阳分公司现在查询的结果是:gsmc           sr
      

  7.   

    select a.gsmc , isnull(sr,0) sr from Table_1 as a
    left join(select gsdm ,sum(sr) sr from Table_2 group by gsdm having(sum(sr)) > 3000) as bon a.gsdm = b.gsdm
      

  8.   

    我用的是oracle ,用nvl函数也不行,请问有人知道吗?
      

  9.   

     select gsndm,max(case when b.sr>30000 then 1 else 0 end)as sr 
    from (select sum(sr)as sr from table2 where gsndm =a.gsndm )as b ,gsdm a where gsmc ='汉阳分公司'