当前位置: 代码迷 >> ASP.NET >> 求一条SQL句子
  详细解决方案

求一条SQL句子

热度:9159   发布时间:2013-02-25 00:00:00.0
求一条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

请教各位大大,不叫见笑

------解决方案--------------------------------------------------------
SQL code
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
自己建表测试的。。绝对正确。。给满分吧。。
------解决方案--------------------------------------------------------
SQL code
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 行)*/
  相关解决方案