最近需要在Access中,批量更新A表的中数据,而更新的数据是从B表中Select而来。
但怎么折腾都无法成功。多方google查询得到高人的说明和解决方法,摘录如下备忘:
“ACCESS不支持select子查询结果用作update参数”。
如果要从表table2中查询与表table1的id对应的name,update到表table1中的name列。
解决方法1:
update table1 t1 inner join table2 t2 on t1.id=t2.id set t1.name=t2.name;
解决方法2:
UPDATE table1 AS t1,table1 AS t2 SET t1.name = t2.name
WHERE t1.id=t2.id;
具体的语法如下:
UPDATE 《table_name》 《alias》
SET (《column_name》,《column_name》 ) = (
SELECT (《column_name》, 《column_name》)
FROM 《table_name》
WHERE 《alias.column_name》 = 《alias.column_name》)
WHERE 《column_name》 《condition》 《value》;