VB6,ACCESS2000开发系统。碰到一个小问题假设存在TABLE1,TABLE2,表结构完全相同。
TABLE1中数据如下
NAME ID
公司1 001
公司2 002
公司3 003
公司4 004
公司5 005TABLE2中数据如下
NAME ID
公司4
公司5
公司6 现在对TABLE2进行更新操作。
希望得到如下结果:
TABLE2
NAME ID
公司4 004
公司5 005
公司6 我写成下面这样,报错!
UPDATE TABLE2 SET ID=(SELECT ID FROM TABLE1) WHERE TABLE2(NAME)=TABLE1(NAME);请问这个SQL应该怎么写?
请各位指教!
TABLE1中数据如下
NAME ID
公司1 001
公司2 002
公司3 003
公司4 004
公司5 005TABLE2中数据如下
NAME ID
公司4
公司5
公司6 现在对TABLE2进行更新操作。
希望得到如下结果:
TABLE2
NAME ID
公司4 004
公司5 005
公司6 我写成下面这样,报错!
UPDATE TABLE2 SET ID=(SELECT ID FROM TABLE1) WHERE TABLE2(NAME)=TABLE1(NAME);请问这个SQL应该怎么写?
请各位指教!
SET TABLE2 .ID=TABLE1.ID FROM TABLE1,TABLE2
WHERE TABLE2.NAME=TABLE1.NAME
Access中不允许用where tableA.fieldA = TableB.fieldA 来做update的连接,这是T-sql的语法,必须把t-sql的语法转成Asni的语法,用 join 来做。对查询结果关联,access必须把查询分成两部分,最后把临时表删:
-------------------------------------------------------------------------
select fid,sum(sl) as sumsl from aa into bb where bs=1 group by fid;update aa inner join bb
on aa.id=bb.fid
set aa.sl=bb.sumsldrop table bb
--------------------------------------------------------------------------