我得到了一个错误:
Column 'A10000012VICKERS.dbo.IMAGES.idimage' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.你知道为什么我会得到这个错误或者如何修复它吗?我以为我只是询问一些文件流列的大小和另外两个列的值?
SELECT
idimage,
filetype,
SUM(DATALENGTH(filestreamimageoriginal)) AS original,
SUM(DATALENGTH(filestreamimagefull)) AS [full],
SUM(DATALENGTH(filestreamimageextra)) AS extra,
SUM(DATALENGTH(filestreamimagelarge)) AS large,
SUM(DATALENGTH(filestreamimagemedium)) AS medium,
SUM(DATALENGTH(filestreamimagesmall)) AS small, SUM(DATALENGTH(filestreamimagethumbnail)) AS thumbnail
FROM A10000012VICKERS.dbo.IMAGES WHERE display = 1发布于 2016-11-11 19:13:21
我真的不明白该查询是如何生成该消息的。没有具有该名称的列。但是,该查询确实有一个明显的错误。
您的查询是聚合查询,因为它在SELECT子句中使用了SUM()。但是,这将只返回一行,除非您还有一个GROUP BY。
将以下内容添加到查询的末尾:
GROUP BY idimage, filetype或者,从SELECT中删除这些列。
发布于 2016-11-11 19:34:49
通过使用聚合函数(SUM),您可以聚合您的记录。因为您没有指定GROUP BY子句,所以您将得到一个结果行,即所有行的聚合。然而,在这个聚合中,您不再可以在结果中显示一个idimage或一个filetype。
因此,如果您真的希望对所有这些行进行一次聚合,那么也可以对这些行使用聚合函数(例如max(idimage), min(filetype)),或者从查询中删除它们。
但是,如果您希望按idimage和filetype进行聚合,那么可以在查询的末尾添加GROUP BY idimage, filetype。
https://stackoverflow.com/questions/40546759
复制相似问题