根据A表和B表得到结果表,排序不限,怎么写sql呢? 先谢谢大家啦..
A表
学生 语文
aaa 60
bbb 70
ccc 80
B表
学生 数学
aaa 10
ddd 80
ccc 80
结果
学生 语文 数学
aaa 60 10
bbb 70
ccc 80 80
ddd 80
------解决方案--------------------
--> 测试数据:@A表
declare @A表 table([学生] varchar(3),[语文] int)
insert @A表
select 'aaa',60 union all
select 'bbb',70 union all
select 'ccc',80
--> 测试数据:@B表
declare @B表 table([学生] varchar(3),[数学] int)
insert @B表
select 'aaa',10 union all
select 'ddd',80 union all
select 'ccc',80
select
ISNULL(a.学生,b.学生) AS 学生,
ISNULL(LTRIM(a.语文),'') AS 语文,
ISNULL(LTRIM(b.数学),'') AS 数学
from @A表 a FULL JOIN @B表 b ON a.学生=b.学生
/*
学生 语文 数学
---- ------------ ------------
aaa 60 10
bbb 70
ccc 80 80
ddd 80
*/
列为null的时候处理一下即可。