使用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表中的唯一键并且它们之间具有适当的关联时,这才可以正常工作。 |
|
|
|
|
|