首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单查询中出现Sql错误?有什么想法吗?

简单查询中出现Sql错误?有什么想法吗?
EN

Stack Overflow用户
提问于 2016-11-11 19:12:18
回答 2查看 37关注 0票数 0

我得到了一个错误:

代码语言:javascript
运行
复制
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.

你知道为什么我会得到这个错误或者如何修复它吗?我以为我只是询问一些文件流列的大小和另外两个列的值?

代码语言:javascript
运行
复制
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
EN

回答 2

Stack Overflow用户

发布于 2016-11-11 19:13:21

我真的不明白该查询是如何生成该消息的。没有具有该名称的列。但是,该查询确实有一个明显的错误。

您的查询是聚合查询,因为它在SELECT子句中使用了SUM()。但是,这将只返回一行,除非您还有一个GROUP BY

将以下内容添加到查询的末尾:

代码语言:javascript
运行
复制
GROUP BY idimage, filetype

或者,从SELECT中删除这些列。

票数 1
EN

Stack Overflow用户

发布于 2016-11-11 19:34:49

通过使用聚合函数(SUM),您可以聚合您的记录。因为您没有指定GROUP BY子句,所以您将得到一个结果行,即所有行的聚合。然而,在这个聚合中,您不再可以在结果中显示一个idimage或一个filetype

因此,如果您真的希望对所有这些行进行一次聚合,那么也可以对这些行使用聚合函数(例如max(idimage), min(filetype)),或者从查询中删除它们。

但是,如果您希望按idimagefiletype进行聚合,那么可以在查询的末尾添加GROUP BY idimage, filetype

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40546759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档