a b c
学号 语文 学号 数学 学号 语文 数学
A001 89 A001 99 B001 88
A002 A002 B002 88 100
A003 70 B001 88 B003 85
B001 B002 100
B002 88
B003 85
select 'A001' 学号,'89' 语文 into a union
select 'A002' ,'' union
select 'A003' ,'70' union
select 'B001' ,'' union
select 'B002' ,'88' union
select 'B003' ,'85'
select 'A001' 学号,'99' 数学 into b union
select 'A002' ,'' union
select 'B001' ,'88' union
select 'B002' ,'100'
select a.学号,isnull((case when a.语文='' then 0 else a.语文 end),0) 语文,
isnull((case when b.数学='' then 0 else b.数学 end),0) 数学 from a
full join b on a.学号=b.学号
这样C表中好象只能有B001和B002,没有B003
追答那就要问你为何A表中B班3号学生没有在B表出现、就算是数学成绩为0或者空、也得跟B表中A002一样、你录入数据不规矩、这样是不对的、