create table 表1 (名称 varchar(10),数据1 int)
create table 表2 (名称 varchar(10),数据2 int)
insert into 表1 values('张三',120)
insert into 表1 values('李四',150)
insert into 表2 values('张三',180)
insert into 表2 values('王五',300)
select A.名称,isnull(cast(sum(A.数据1) as nvarchar),'') 数据1,
isnull(cast(sum(A.数据2) as nvarchar),'') 数据2
from
(select 名称,数据1,null as 数据2 from 表1
union all select 名称,null,数据2 from 表2) A
group by A.名称
select t1.name as name,t1.data as t1data,t2.data as t2data
from t1,t2
where t1.name=t2.name
union
select t1.name as name,t1.data as t1data,null as t2data
from t1
where t1.name not in(select t2.name from t2)
union
select t2.name as name,null as t1data,t2.data as t2data
from t2
where t2.name not in(select t1.name from t1)
select A.名称,isnull(cast(sum(A.数据1) as nvarchar),'') 数据1,
isnull(cast(sum(A.数据2) as nvarchar),'') 数据2
from
(select 名称,数据1,null as 数据2 from 表1
union all select 名称,null,数据2 from 表2) A
group by A.名称