回答

收藏

使用SQL从另一个Access表更新MSAccess表

技术问答 技术问答 111 人阅读 | 0 人回复 | 2023-09-13

我试图用Final中的值更新表Original。我是SQL的新手,但是我已经花了两个小时尝试更改各种样本以满足我的需求。我正在使用Access 2007。: ]- @2 ]  R( }! X/ h
UPDATE
9 J9 F: [  [5 k5 @* k. n  Original o) x) {/ c) P3 P/ g1 ^/ \2 ^4 J
SET
' T( k2 {" Q- i  o.[Assest Description] = (
% J& B; u/ _( b    SELECT f.[Assest Description] FROM Original o, Final f
+ Y8 ]( y# C4 Q0 N; d5 K    WHERE o.[Assest No] = f.[Assest No])9 t# b8 u2 L6 Y( C' n8 F/ e0 c$ P- x
WHERE o.[Assest No] = Final.[Asset No]
1 J: {" [% ^) J# w3 R6 f3 {                2 K* I1 `3 x+ X
解决方案:
7 R% w. E7 S) u3 o. R/ x               
0 W: U/ f* b2 w7 e  M9 {; p8 ^* H$ M6 ]3 l; ?3 W
, _0 {$ V3 b; X! x% }) B
                我不确定您的select陈述仅返回一行。如果要使用select分配语句对表执行更新,则 必须 确保它仅返回一行。
- \1 W5 I# q, X+ P( ^: X除此之外,您可以考虑下一个解决方案:
% H$ f6 Z% c0 h: v( ~: `8 w: qupdate & e' a) ?4 v$ ~
   Original as o( G, h' N9 z0 b& H+ F
   inner join Final as f on o.[Assest No] = f.[Assest No]3 I. O4 ^: v2 v$ f$ ^) E
set
1 W. W' M- w  x3 [7 z+ P   o.[Assest Description] = f.[Assest Description]
2 Y1 e" N, Y" g6 c3 l1 K) A; q请注意,只有当两者[Assest no]都是表Original和Final表中的唯一键并且它们之间具有适当的关联时,这才可以正常工作。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则