select hph,ckh,rq,cksl=Sum(case when djName = 'ck' then sl,else 0 end),
...
(
select hph,sl,ck_ckh as ckh,ck_rq as rq,'ck' as djName from ckd
union all
select hph,sl,rk_ckh  as ckh,rk_rq  as rq,'rk' as djName from rkd
union all
...
) a
group by a.hph.a.ckh,a.rq

解决方案 »

  1.   

    不是啊,大哥,用了你的法子,好像做不到,我的出库单,入库单上没有货品号(hph)
      

  2.   

    我写一条sql语句,它说“请不要发表给我们带来伤害的言论?”
    怎么回事?
      

  3.   

    select hph,ckh,rq,cksl=Sum(case when lgf='ck' then sl,else 0 end),
    rksl=Sum(case when lgf='rk' then sl,else 0 end),
    thsl=Sum(case when lgf='th' then sl,else 0 end),
    hhsl=Sum(case when lgf='hh' then sl,else 0 end)
    from
    (select mx.hph,mx.sl,mx.pzh,ckd.ck_ckh,ckd_.ck_rq,lgf='ck' from mx,ckd where mx.pzh=ckd.ck_pzh
    union
    select mx.hph,mx.sl,mx.pzh,rkd.ck_rkh,rkd.rk_rq,lgf='rk' from mx,rkd where mx.pzh=ckd.rk_pzh
    union
    select mx.hph,mx.sl,mx.pzh,thd.th_thh,thd.th_rq,lgf='th' from mx,thd where mx.pzh=ckd.th_pzh
    union
    select mx.hph,mx.sl,mx.pzh,rkd.hh_hhh,hhd.hh_rq,lgf='hh' from mx,hhd where mx.pzh=ckd.hh_pzh) tb1
    group by hph,ckh,rq