我正在使用 Microsoft Access。如果此查询: (SELECT FERMENT.FermentIdFROM FERMENTINNER JOIN [BELGIUM BEER]ONFERMENT.FermentName = [BELGIUM BEER].FermentId ORDER BY [BELGIUM BEER].BeerId) a r...
我正在使用微软 Access。
如果有这个查询:
(SELECT FERMENT.FermentId
FROM FERMENT
INNER JOIN [BELGIUM BEER]
ON
FERMENT.FermentName = [BELGIUM BEER].FermentId ORDER BY [BELGIUM BEER].BeerId) a
返回 FermentId,如何使用该列更新不同的表?
例子:
UPDATE EXAMPLETABLE
SET EXAMPLETABLE.FermentId = a.FermentId
FROM a
(SELECT FERMENT.FermentId
FROM FERMENT
INNER JOIN [BELGIUM BEER]
ON
FERMENT.FermentName = [BELGIUM BEER].FermentId ORDER BY [BELGIUM BEER].BeerId) a
无需定义两个表之间的关系。答案 10(Arnoldiusss)几乎是正确的,并且是迄今为止最易理解和最简短的解决方案。并且执行速度最快。但是示例代码是错误的。下一个代码来自我的一个应用程序,在 MS ACCESS 2013 中运行良好。
UPDATE table1 T1
INNER JOIN table2 T2
ON T2.Id = T1.Id
SET T1.myField = T2.myField;
对于“比利时啤酒案”(我喜欢这个表达;-),它将是:
UPDATE FERMENT AS T1
INNER JOIN [BELGIUM BEER] AS T2 ON T1.FermentName = T2.FermentId
SET T1.FermentColumn1 = T2.FermentColumn1;