求个sql语句,两张表同一字段数值相加
有A、B两张表,都有A1、A2字段,要求A表的A2更新成(在A表A1=B表A1的前提下,A表A2+B表A2。如果A表A1数值B表A1没有,那么就A2不变,A表A1没有的就...
有A、B两张表,都有A1、A2字段,要求A表的A2更新成(在A表A1=B表A1的前提下,A表A2+B表A2。如果A表A1数值B表A1没有,那么就A2不变,A表A1没有的就取B表的,插入进来)
A表: A1 A2 B表: A1 A2
1001 5.3 1001 2.1
1002 2.1 1003 1.6
想得到的结果: A表 A1 A2
1001 7.4 (A和B表的A2字段相加)
1002 2.1 (A表有1002,B表没有,所以A2不变)
1003 1.6 (B表有1003,A表没有,也插入到A表) 展开
A表: A1 A2 B表: A1 A2
1001 5.3 1001 2.1
1002 2.1 1003 1.6
想得到的结果: A表 A1 A2
1001 7.4 (A和B表的A2字段相加)
1002 2.1 (A表有1002,B表没有,所以A2不变)
1003 1.6 (B表有1003,A表没有,也插入到A表) 展开
展开全部
SELECT ISNULL(A表.A1,B表.A1) AS A1,ISNULL(A表.A2,0)+ISNULL(B表.A2,0) AS A2
FROM A表 FULL JOIN B表 ON A表.A1=B表.A1
FROM A表 FULL JOIN B表 ON A表.A1=B表.A1
追问
这查询出来后怎么更新A表。。我要update掉A表的A1和A2字段
追答
没办法,因为A表中存在有的记录为更新记录,没有的记录属于添加纪录,不是同一类操作。
只能into到一个新表中,删除AO表,把新表的表名改为A表。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询