求一条SQL句子,在线等
A表
学号 分数
001 100
003 99
005 98
007 97
B表
学号 分数
001 100
002 88
003 80
005 98
现在想对比这两个表,学号为主键,A、B两表都会有对方没有的数据,
想得到结果:
学号 原A分数 B分数
001 100 100
002 0 88
003 99 80
005 98 98
007 97 0
请教各位大大,不叫见笑
[解决办法]
select isnull(A.学号,B.学号) 学号,isnull(A.分数,0) 原A分数,isnull(B.分数,0) B分数from A full join Bon A.学号=B.学号
[解决办法]
select ISNULL(A.id,B.Id) 学号 ,ISNULL(A.score,0) 原A分数,ISNULL(B.score,0)原B分数 from A full join B on A.id = B.Id
自己建表测试的。。绝对正确。。给满分吧。。
[解决办法]
CREATE TABLE A( 学号 VARCHAR(10) PRIMARY KEY, 分数 INT )INSERT INTO A VALUES('001',100)INSERT INTO A VALUES('003',99)INSERT INTO A VALUES('005',98)INSERT INTO A VALUES('007',97)CREATE TABLE B( 学号 VARCHAR(10) PRIMARY KEY, 分数 INT )INSERT INTO B VALUES('001',100)INSERT INTO B VALUES('002',88)INSERT INTO B VALUES('003',80)INSERT INTO B VALUES('005',98)SELECT ISNULL(A.学号,B.学号)学号 ,ISNULL(A.分数,0) 原A分数,ISNULL(B.分数,0) B分数 FROM A FULL JOIN B ON A.学号=B.学号/*学号 原A分数 B分数 ---------- ----------- ----------- 001 100 100002 0 88003 99 80005 98 98007 97 0(所影响的行数为 5 行)*/