select a.jbid,b.dq,nvl(b.fbsl,0) as fbsl
from a left outer join b
on(a.jbid=b.jbid);

解决方案 »

  1.   

    仔细想了下,上面那个不行,得这样:select a.jbid,a.dq,nvl(b.fbsl,0) as fbsl
    from (select distinct a.jbid,b.dq from a,b) a
    left outer join b on (a.jbid=b.jbid)
    /
      

  2.   

    select a.jbid,a.dq,decode(b.fbsl,null,0,b.fbsl) fbsl from a,b where a.jbid=b.jbid(+)
      

  3.   

    nvl,decode是什么东西呀,在查询分析器里面都不认识呀?
      

  4.   

    嗯?查询分析器??
    你用的是Oracle么?
      

  5.   

    晕,lz跑到sqlserver的query analyzer里执行,
    如果你问的是T-SQL,那nvl换成isnull,decode换成case when
      

  6.   

    不好意思,我没有写清楚,在b表中可能有其他月份的数据
    jbid   dq   fbsj          fbsl
    1      s     2005.12      60
    2      s     2005.12      30
    1      d     2005.11      40
    3      s     2005.11      70
    4      w     2005.10      30
    ............................
    我要把时间作为查询条件,查询2005年12月的数据,jbid需要全的,没有的fbsl(数量)用0填