access 2010 两个表按照工号主键合并如何建立更新查询?
A表:工号,账户余额001,10002,10B表:工号,工资001,20003,10A、B表中的工号不是完全一一对应,现在想把B表的工资加入A表的账户余额中,同时B表中有...
A表:工号,账户余额
001,10
002,10
B表:工号,工资
001,20
003, 10
A、B表中的工号不是完全一一对应,现在想把B表的工资加入A表的账户余额中,同时B表中有但A表中没有的工号也要在A表建立字段后加入余额,请问如何操作?
变成:
A表:
001,30
002,10
003,10 展开
001,10
002,10
B表:工号,工资
001,20
003, 10
A、B表中的工号不是完全一一对应,现在想把B表的工资加入A表的账户余额中,同时B表中有但A表中没有的工号也要在A表建立字段后加入余额,请问如何操作?
变成:
A表:
001,30
002,10
003,10 展开
2个回答
展开全部
select a.工号,a.账户余额 from a where 工号 not in(select 工号 from b) union (SELECT b.工号,(iif(isnull(a.账户余额),0,a.账户余额)+b.工资) as 账户余额 from a right join b on a.工号=b.工号)
或
select a.工号,a.账户余额 from a where not exists (select * from b where b.工号=a.工号) UNION (SELECT b.工号,(iif(isnull(a.账户余额),0,a.账户余额)+b.工资) as 账户余额 from a right join b on a.工号=b.工号)
或
select a.工号,a.账户余额 from a where not exists (select * from b where b.工号=a.工号) UNION (SELECT b.工号,(iif(isnull(a.账户余额),0,a.账户余额)+b.工资) as 账户余额 from a right join b on a.工号=b.工号)
更多追问追答
追问
查询没有问题,那怎么把查询中的数据更新表1的中的账户余额呢?我用update无法实现。
追答
查询都可以了,难道更新到表1中,你还不会吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT *
FROM (SELECT * FROM 表1
UNION
SELECT * FROM 表2) AS [%$##@_Alias];
FROM (SELECT * FROM 表1
UNION
SELECT * FROM 表2) AS [%$##@_Alias];
更多追问追答
追问
AS [%$##@_Alias];这个如何解释?
哦,我是为了简化说明,没有列出其他字段,其实每个表的字段和字段数量都是不一样的。这种情况下如何操作?
如:
表1:工号,姓名,账号,余额
表2,:工号,本月工资
要实现通过工号连接,把本月工资加到余额上。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询