-1
SELECT 
FROM Query1, Table2, Table3
UPDATE Table2
SET companycount=(SELECT COUNT(*)
FROM Table3
WHERE Table2.CASE#=Table3.CASE2#)
;

这是我尝试运行的查询,但是我在 Access 中不断收到错误消息,指出 SELECT 中的某些内容拼写错误或错误。有人知道为什么会这样吗?如果这太模糊,请告诉我,我会提供更多信息。提前致谢!

编辑:CASE、CASE2 和 companycount 都是列名 EDIT2:

好吧,对不起,数据是保密的,所以我不能提供太多信息。基本上我有 2 个包含多个列的表,我在查询 1 中完成了内部连接。现在我被指示向第一个表添加一列:'Table2' 以查找所有多个值(我的意思是有一列是项目编号,另一列是国家/州,另一列是支票金额。现在不同的州和国家可以有多个相同的项目。)但是手动输入数据的人并没有在'检查金额'栏按相同项目的数量。因此,例如说我有 1 个项目,分布到 3 个国家/地区,这些国家/地区在数据表上占 3 行。数据不是将 13,000 美元的总成本除以 3,而是在“支票金额”列中的 3 行中的每一行中显示 13,000 美元。

4

1 回答 1

0

我猜你正在尝试做这样的事情

  UPDATE T2
  SET T2.companycount= a.numb
  FROM Table2 T2, (SELECT [CASE2], count(1) as numb FROM Table3 group by [CASE2]) a
  WHERE T2.[CASE]=a.[CASE2]

抱歉,以上方法可以在 SQL 服务器上运行,请尝试以下访问

UPDATE Table2 as T2
INNER JOIN 
(SELECT [CASE2], Count(1) AS numb FROM Table3 group by [CASE2]) AS a
ON a.[CASE2]=T2.[CASE]
SET T2.companycount=a.numb
于 2013-07-25T15:30:51.737 回答