首页 > 代码库 > 表A的数据减去表B ,最终得到表C

表A的数据减去表B ,最终得到表C

==========
表A数据如下:                 表B数据如下:
cr     zc     lx                     cr    zc    lx
100   100   1                     50    50   1
90     80    2                     10    20   3
70      80   3
我想要以下的结果:
表C:
cr     zc      lx
50    50      1
90     80     2
60     60     3
即根据lx字段让表A的数据减去表B ,最终得到表C   

SELECT
  ISNULL(a.cr, 0) - ISNULL(b.cr, 0) AS cr,
  ISNULL(a.zc, 0) - ISNULL(b.zc, 0) AS zc,
  ISNULL(a.lx, b.lx)  AS lx
FROM
  #A a FULL JOIN #B b ON (a.lx = b.lx)
go

数据类型 varchar 对于 subtract 运算符无效。
这里的subtract是减号的意思,即数数据类型 varchar 对于减号(“-”)运算符无效。
可用于int,double,float,char类型的运算,比如5-3,a-b。varchar类型的是不能进行减法运算的。