用SQL语句该如何实现(200分)

  • 主题发起人 主题发起人 highcolor
  • 开始时间 开始时间
H

highcolor

Unregistered / Unconfirmed
GUEST, unregistred user!
表A:
ID A  B  C  D  E......
0001 100 120 200 220 180
0002 220 30 90 460 226
0003 600 41 266 39 560
0004 200 877 58 496 636
0005 300 133 22 96 530
表B:
ID A  B  C  D  E......
0001 0 20 100 0 0
0003 400 0 66 0 60
0004 100 0 0 96 36

通过表B将表A修改成如下表C的结果(即C=A-B)
表C
ID A  B  C  D  E.....
0001 100 100 100 220 180
0002 220 30 90 460 226
0003 200 41 200 39 500
0004 100 877 58 400 600
0005 300 133 22 96 530

高分求SQL语句
 
select (a.a-b.a) as aa,(a.b-b.a) as bb from a right join b on a.id=b.id 试一下
 
select A.A-B.A,A.B-B.B,A.C-B.C,A.D-B.D,A.E-B.E from A,B where A.ID = B.ID
 
select (a.A-b.A) as A,(a.B-b.B) as B,(a.C-b.C) as C,(a.D-b.D) as D,(a.E-b.E) as E from A a,B b where a.ID=b.ID
union select a.A,a.B,a.C,a.D,a.E from A a,B b where a.ID not in (select ID from B)
 
要计算的字段很多,还有没有更简单的办法
 
好像没有,只能每个字段去比较。
 
多人接受
 
后退
顶部