读书人

求这个sql语句如何写呢

发布时间: 2013-07-08 14:13:00 作者: rapoo

求这个sql语句怎么写呢?
根据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

[解决办法]

引用:
Quote: 引用:

select * from A表 a full join B表 b on a.学生=b.学生

不对噢..



--> 测试数据:@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的时候处理一下即可。

读书人网 >SQL Server

热点推荐