Sql 使用select query data MS Access更新特定表列
我使用MS Access 2019,有两个表:Sql 使用select query data MS Access更新特定表列,sql,ms-access,Sql,Ms Access,我使用MS Access 2019,有两个表: 表a(标识a,编号a) 表b(id、名称) 此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; 错误 操作必须使用可更新的查询 为什么不捕获值,然后按如下方式分配它 DECLARE @COUNT_B INT SELECT @COUNT_B =
- 表a(标识a,编号a)
- 表b(id、名称)
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;
错误
操作必须使用可更新的查询
为什么不捕获值,然后按如下方式分配它
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;
或
取决于什么是
@name
,它在哪里定义,以及如何用它的值替换它。这是否回答了您的问题?这不是MS Access的有效语法。
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;