日期:2014-05-18  浏览次数:20374 次

两个表连接问题,万分感谢

a表   结构

日期                 账号               出库金额
2007-5-9         00001               100


b表   结构

日期                       帐号             入库金额

2007-5-9               000001       80

想合并为一个表,结构为:
       
日期             帐号             入库金额     出库金额  

2007-5-9       00001         100
2007-5-9       00001                               80

请大师指点


------解决方案--------------------
create table a(日期 varchar(20),账号 varchar(20),出库金额 int)
insert a select '2007-5-9 ', '00001 ',100

create table b(日期 varchar(20),账号 varchar(20),入库金额 int)
insert b select '2007-5-9 ', '00001 ',80

create table tb(日期 varchar(20),账号 varchar(20),出库金额 int,入库金额 int)
insert into tb(日期,账号,出库金额) select 日期,账号,出库金额 from a
insert into tb(日期,账号,入库金额) select 日期,账号,入库金额 from b

select * from tb

日期 账号 出库金额 入库金额
-------------------- -------------------- ----------- -----------
2007-5-9 00001 100 NULL
2007-5-9 00001 NULL 80
------解决方案--------------------
select 日期,账号,0 as 入库金额,出库金额 from a
union all
select 日期,账号,入库金额,0 as 出库金额 from b
------解决方案--------------------

select 日期, 账号, 入库金额=NULL, 出库金额 from A
union all
select 日期, 账号, 入库金额, 出库金额=NULL from B
------解决方案--------------------
select 日期, 账号, 入库金额=NULL, 出库金额 from A
union all
select 日期, 账号, 入库金额, 出库金额=NULL from B

------解决方案--------------------
select 日期, 账号, 入库金额= ' ', 出库金额 from A
union all
select 日期, 账号, 入库金额, 出库金额= ' ' from B