首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL查询在选择列表中无效

SQL查询在选择列表中无效
EN

Stack Overflow用户
提问于 2010-10-06 21:13:17
回答 3查看 1.3K关注 0票数 0

我不知道为什么这是无效的,我不能弄清楚它。当我的主管离开时,我得到了一个遗留数据库,在有人来接替他之前,我一直在负责。我正在尝试运行此查询...

代码语言:javascript
复制
    SELECT     tblM.guidRId, SUM(dbo.tblCH.curTotalCost) AS curValue
FROM         tblCH INNER JOIN
                      tblM ON tblCH.guidMId = tblM.guidMId INNER JOIN
                      ViewLM ON tblM.strNumber = ViewLM.strNumber
WHERE     (tblM.guidRId = '4d832bc8-1827-4054-9896-6111844b0f26')

错误I keep getting is...Msg 8120,Level 16,State 1,Line 1 Column 'tblM.guidRId‘在选择列表中无效,因为它既没有包含在聚合函数中,也没有包含在GROUP BY子句中。

为什么会发生这个错误?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-06 21:17:10

您忘记了对guidRId进行分组。(您正在聚合数据)

代码语言:javascript
复制
SELECT     
    tblM.guidRId, 
    SUM(dbo.tblCH.curTotalCost) AS curValue
FROM         
    tblCH 
    INNER JOIN tblM ON tblCH.guidMId = tblM.guidMId 
    INNER JOIN ViewLM ON tblM.strNumber = ViewLM.strNumber
WHERE  
    tblM.guidRId = '4d832bc8-1827-4054-9896-6111844b0f26'
GROUP BY tblM.guidRId
票数 1
EN

Stack Overflow用户

发布于 2010-10-06 21:16:00

因为如果您要使用诸如SUM()或COUNT、AVG()等聚合函数,则需要一个GROUP BY。使用另一个非聚合列:

代码语言:javascript
复制
SELECT tblM.guidRId, SUM(dbo.tblCH.curTotalCost) AS curValue
FROM   tblCH 
INNER JOIN tblM 
    ON tblCH.guidMId = tblM.guidMId 
INNER JOIN ViewLM 
    ON tblM.strNumber = ViewLM.strNumber
WHERE  tblM.guidRId = '4d832bc8-1827-4054-9896-6111844b0f26'
GROUP BY tblM.guidRId;
票数 1
EN

Stack Overflow用户

发布于 2010-10-06 21:17:13

尝试:

代码语言:javascript
复制
SELECT
 tblM.guidRId, SUM(dbo.tblCH.curTotalCost) AS curValue
FROM
 tblCH
  INNER JOIN tblM
   ON tblCH.guidMId = tblM.guidMId
  INNER JOIN ViewLM
   ON tblM.strNumber = ViewLM.strNumber
WHERE (tblM.guidRId = '4d832bc8-1827-4054-9896-6111844b0f26')
GROUP BY tblM.guidRId
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3872788

复制
相关文章

相似问题

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