我有一个表Id | DocId | Page | WordCount
使用INSERT INTO与WHERE
我想为N个页面插入字数。也就是说,如果N = 3,那么我想添加的所有字计数为1,2和3的网页,然后将它们插入到一个新表Id | DocId | WordCount
我努力做到以下几点:
INSERT INTO [NewDocTable] (DocId, WordCount)
SELECT [W].DocId AS DocId, SUM ([W].WordCount) AS WordCount
FROM [OldDocTable] AS [W]
WHERE [W].Page <= @N
莫非有人帮忙?
我有以下错误:列'OldDocTable.DocId'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
好的,但究竟是什么问题? – mic4ael
而这个错误信息,或者尤其是它的最后一部分,并没有给你一个*提示*以解决它的方法? –
错误消息为您提供了一个非常好的指示,说明发生了什么问题。该select语句正在执行聚合(SUM),因此您需要添加一个group by语句以便工作。在末尾添加GROUP BY [W] .DocId应该解决问题 –