更新 SELECT 访问

UPDATE SELECT Access

这是一个与 MS Access 2010 相关的问题。

是否可以走捷径 (A) 并使用 SELECT 语句编写更新语句以捕获相关值,或者我是否必须走长途 (B) 并且我首先需要通过 SELECT 语句查询数据,我将其保存为查询,然后在我的 UPDATE 语句中引用这个保存的查询?

这是 (A):

UPDATE tbl_A
SET tbl_A.Header1 = (SELECT F1 FROM tblStaging
WHERE tblStaging.F1 = 'ISSUER CODE')
WHERE (((tbl_A.TableName)='tblStaging'));

这里是 B:

SELECT F1
FROM tblStaging
WHERE F1 = 'ISSUER CODE';

UPDATE tbl_A, Q_A_Sel_ISSUERCODE
SET tbl_A.Header1 = [Q_A_Sel_ISSUERCODE].[F1]
WHERE (((tbl_A.TableName)='tblStaging'));

谢谢

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

克里斯给出了解决方案:

UPDATE tbl_A, tblStaging
SET tbl_A.Header1 = tblStaging.F1
WHERE (((tblStaging.F1)='ISSUER CODE') AND ((tbl_A.TableName)='tblStaging'));

我不确定 Access,但在 SQL Server 中,您可以像这样使用单个 UPDATE 语句(我认为它也应该在 Access 中工作):

UPDATE A
SET Header1 = S.F1
FROM tbl_A A, tblStaging S
WHERE S.F1 = 'ISSUER CODE' AND A.TableName ='tblStaging';

虽然如果这正是您想要做的,它与:

UPDATE tbl_A SET Header1 = 'ISSUER CODE'
WHERE TableName = 'tblStaging';