select wzbh, "收" as pzz(凭证字), rksl as rksl, rkje as rkje,null as cksl ,null as ckje ,null as kcsl ,null as kcje
 from  表1 where rkbh is not null/*- 你的库结构是这样设计的吧--------*/
union 
select wzbh, "支" as pzz(凭证字), null as rksl ,null as rkje ,cksl as cksl, ckje as ckje,null as kcsl ,null as kcje
 from  表1 where ckbh is not null/*- 你的库结构是这样设计的吧--------*/
union 
select wzbh, "存" as pzz(凭证字), null as rksl ,null as rkje ,null as cksl, null as ckje,kcsl as kcsl ,kcje as kcje
 from  表3 /*- 你的库结构是这样设计的吧--------*//*- 这里你会得到所有的这3个表的联合,然后你排序,就可以得到0001、0002、0003。。的记录了--------*/

解决方案 »

  1.   

    select * from 
    (
    select wzbh,'收' as type,rksl,rksl,null as cksl,null as ckje,null as kcsl,null as kcje
    from table1
    union all
    select wzbh,'支 as type,null as rksl, null as rksl,cksl,ckje,null as kcsl,null as kcje
    from table2
    union all
    select wzbh,'存'as type,null as rksl, null as rksl,null as cksl,null as ckje,kcsl, kcje
    from table3
    )
    group by wzbh;
      

  2.   

    maohaisheng()
     group by不行,使用order by
      

  3.   

    SQL> select * from tb11;WZBH       RKBH       RKSL       RKJE
    ---------- ---------- ---------- ----------
    0001       R001       9          54
    0002       R002       9          52SQL> select * from tb12;WZBH       CKBH       CKSL       CKJE
    ---------- ---------- ---------- ----------
    0001       c001       4          24
    0002       c002       22         222SQL> select * from tb13;WZBH       KCSL       KCJE
    ---------- ---------- ----------
    0001       5          30
    0002       2          30
    SQL> select a.wzbh,a.tbb,a.rkbh,a.rksl,a.rkje,a.ckbh,a.cksl,a.ckje,a.kcsl,a.kcje
      2  from(
      3  select wzbh,'收' tbb,rkbh,rksl,rkje,'' CKBH,'' CKSL,'' CKJE,'' KCSL,'' KCJE from tb11
      4   union
      5  select wzbh,'支' tbb,'' RKBH,'' RKSL,'' RKJE,ckbh,cksl,ckje,'' KCSL,'' KCJE from tb12
      6  union
      7  select wzbh,'支' tbb,'' RKBH,'' RKSL,'' RKJE,'' CKBH,'' CKSL,'' CKJE,KCSL,KCJE from tb13
      8  ) a order by a.wzbh;
    WZBH       TB RKBH       RKSL       RKJE       CKBH       CKSL       CKJE       KCSL
    ---------- -- ---------- ---------- ---------- ---------- ---------- ---------- ----------
    KCJE
    ----------
    0001       收 R001       9          54
    0001       支                                  c001       4          24
    0001       支                                                                   5
    300002       收 R002       9          52
    0002       支                                  c002       22         222
    0002       支                                                                   2
    30
    已选择6行。
      

  4.   

    不难,简单的union
    同意楼上的做法!
      

  5.   

    select wzbh,'收' as type,rksl,rksl,null as cksl,null as ckje,null as kcsl,null as kcje
    from table1
    union all
    select wzbh,'支 as type,null as rksl, null as rksl,cksl,ckje,null as kcsl,null as kcje
    from table2
    union all
    select wzbh,'存'as type,null as rksl, null as rksl,null as cksl,null as ckje,kcsl, kcje
    from table3以上在SQL server中通过,结果如下:1 收 54 54 NULL NULL NULL NULL
    1 支 NULL NULL 4 24.0000 NULL NULL
    1 存 NULL NULL NULL NULL 5 30