繁体   English   中英

使用选择查询数据 MS Access 更新特定表列

[英]Update specific table column with select query data MS Access

我正在使用 MS Access 2019 并且有两个表:

  • table_a (id_a, number_a)
  • table_b (id_b, name_b)

UPDATE语句不起作用:

UPDATE table_a
SET number_a = (SELECT COUNT(*) FROM table_b WHERE id_b IN (1,3) AND name_b=@name) 
WHERE id_a=1;

错误

操作必须使用可更新的查询

UPDATE table_a 
SET table_a.number_a = DCount("*","table_b","id_b IN (1,3) AND name_b=@name")
WHERE table_a.id_a=1;

或者

UPDATE table_a 
SET table_a.number_a = DCount("*","table_b","id_b IN (1,3) AND name_b=" & @name)
WHERE table_a.id_a=1;

取决于什么是@name ,它在哪里定义以及如何用它的值替换。

你为什么不捕捉价值然后像下面这样分配它

DECLARE @COUNT_B INT
SELECT @COUNT_B = COUNT(*) FROM table_b WHERE id_b IN (1,3) GROUP BY id_b

UPDATE table_a
SET number_a = @COUNT_B
WHERE id_a=1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM