将记录计数插入到不同的表中

ALi*_*boa 1 sql ms-access insert-into

我需要将一个表中的所有记录的计数写入另一个表中.我正在使用INSET INTO语句,看起来非常简单.访问返回我正在犯一个语法错误.这是我的查询:

   INSERT INTO tblA (Field1)
   VALUES (SELECT COUNT(tblB.ID) FROM tblB);
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?访问文档说您可以提供查询作为VALUES的参数.它是Access不喜欢的聚合吗?

Gor*_*off 7

我会insert . . . select按照Tim的建议去做。但是,我想解释一下您的语法出了什么问题。

的语法为insert . . . values

insert into tblA(field1)
    values ( . . . );
Run Code Online (Sandbox Code Playgroud)

注意括号。另外,子查询总是需要有自己的括号。因此,要使您的版本正常工作,您需要额外的一组括号:

INSERT INTO tblA (Field1)
    VALUES ( (SELECT COUNT(tblB.ID) FROM tblB) );
Run Code Online (Sandbox Code Playgroud)


Tim*_*sen 6

用途INSERT INTO...SELECT:

INSERT INTO tblA (Field1)
SELECT COUNT(tblB.ID) FROM tblB
Run Code Online (Sandbox Code Playgroud)