好像没有什么好办法假定还有一个产品编码表,包含了所有的产品编码;当前查询月份为'0207',那就这样写:
select clbm, nvl(rksl,0) rksl, nvl(cksl,0) cksl, nvl(kcsl,0) kcsl
  from product_id a,
       (select clbm, rksl from cdz_clrk where yf = '0207') b,
       (select clbm, cksl from cdz_clck where yf = '0207') c,
       (select clbm, kcsl from cdz_clkc where yf = '0207') d
 where a.clbm = b.clbm (+)
   and a.clbm = c.clbm (+)
   and a.clbm = c.clbm (+)
   and (nvl(b.rksl,0) <> 0 or nvl(c.cksl,0) <> 0 or nvl(d.kcsl,0) <> 0);