我想知道为什么会出现以下错误:
Column 'tbl.column' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
当sql语句看起来像:
SELECT tbl.column, MAX(tblOther.columnOtherId) AS otherID FROM (tbl INNER JOIN tblOther ON tbl.columnId = tblOther.columnOtherId) INNER JOIN tblOtherAgain ON tblOther.columnOtherId = tblOtherAgain.columnAgainOtherId WHERE tblOther.columnOtherAgainId = @id

当我在tblOther.columnOtherId上删除聚合函数MAX时 ,我没有收到以上错误。 那么,如何在不出现所示错误的情况下使上面显示的语句起作用?

DBLibrary: Tedious.js

===============>>#1 票数:0 已采纳

您使用了聚合函数MAX()并且SELECT子句中有一个未聚合的字段,这就是为什么需要使用GROUP BY子句的原因,

SELECT  tbl.column, 
        MAX(tblOther.columnOtherId) AS otherID 
FROM    (tbl INNER JOIN tblOther 
            ON tbl.columnId = tblOther.columnOtherId) 
        INNER JOIN tblOtherAgain 
            ON tblOther.columnOtherId = tblOtherAgain.SourceId 
WHERE   tblOther.columnOtherAgainId = @id
GROUP   BY tbl.column

===============>>#2 票数:0

SELECT tbl.column, MAX(tblOther.columnOtherId) AS otherID FROM (tbl INNER JOIN tblOther ON tbl.columnId = tblOther.columnOtherId) INNER JOIN tblOtherAgain ON tblOther.columnOtherId = tblOtherAgain.columnAgainOtherId WHERE tblOther.columnOtherAgainId = @id
GROUP BY tbl.column

  ask by camelCaseD translate from so

未解决问题?本站智能推荐:

2回复

在选择列表中,'CM.PfmFolder.Id'列无效,因为它不包含在聚合函数或GROUP BY子句中

在选择列表中,获取列'CM.PfmFolder.Id'无效,因为该列未包含在聚合函数或GROUP BY子句中。 请提出如何重新构造此查询
2回复

在选择列表中,DESCRIPTION'无效,因为它不包含在聚合函数或GROUP BY子句中。

可能重复: 该列在选择列表中无效,因为该列未包含在聚合函数或GROUP BY子句中 我是SQL查询的新手; 我收到此错误: “ DESCRIPTION'在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中” 我找不到正确的聚合函数。
2回复

列在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中

我有下面的SQL查询,但我执行它时遇到问题。 但我不断收到以下错误: 列'FloorId'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
4回复

列在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中

我们有一张表格,可以捕捉每位employee的刷卡记录。 我正在尝试编写一个查询,以便通过今天的第一次刷卡来获取不同员工记录的列表。 我们在datetime列中保存滑动日期信息。 这是我的查询它的抛出异常。 得到错误: 列'Interface.dbo.VwEmpSwi
3回复

列在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中

我正在尝试返回一个表格,其中包含使用嵌套集合模型表示的层次结构中的节点深度,我正在遵循本教程,但“查找节点深度”一节中使用的查询对我不起作用: http : //mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ 运
2回复

列'*'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中

我有一个如下查询 但是当我执行上面的sql时,出现了一个错误: 预期结果: 上面的sql有什么问题?
1回复

列在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句SQL Server中

这是我的查询: 但是当我运行它时出现错误,我知道我需要用group by子句做一些事情,我只是不知道放在哪里。 编辑:刚弄清楚出了什么问题:
7回复

选择列表中的COLUMN无效,因为它不包含在聚合函数或GROUP BY子句中

我在具有相同架构和数据的MYSQL和MSSQL(SQL Server)DB中有一个名为-tbl_emp_info的表。 我正在对此数据执行以下查询- MYSQL查询 MSSQL查询 当我执行MYSQL查询时,它将运行并给我结果。 但是当我执行MSSQL查询时,会出现
3回复

包含SQL AVG,但在选择列表中获取Column无效,因为它不包含在聚合函数或GROUP BY子句中

我对为什么会收到此错误感到非常困惑: “列'City.CityID'在选择列表中无效,因为它既不包含在聚合函数中也不在GROUP BY子句中。” 我有两个表:一个名为City的城市信息,例如ID,名称等, 另一个表包含CityID和等级(可以有很多行具有相同的CityID和等级
2回复

该列在选择列表中无效,因为该列未包含在聚合函数或GROUP BY子句中

我试图选择一堆病人的单位和部门,我想按单位名称对结果进行分组,但是此代码无法执行,并且将错误作为此问题的主题。 我想是因为unt.UntName在我的左联接中,所以我不能在联接之外使用它吗? 我有些困惑,因为当我这样说时,它可以工作: 任何帮助表示赞赏