【问题标题】:My SQL query states that my query does not include the specified expression as part of an aggregate function我的 SQL 查询指出我的查询不包含指定的表达式作为聚合函数的一部分
【发布时间】:2020-05-29 20:40:37
【问题描述】:

我似乎无法让我的 SQL 代码工作,我已经让它接受 EventRequest.eventno 语句,但是还有另一个错误指出“查询不包括指定的表达式 'dateheld' 作为聚合的一部分功能。'我目前刚刚开始对 Access SQL 查询进行编码,我知道因为它是一个日期,所以我不能对其进行计数或求和,它是一个 SELECT,这意味着当它在设计视图中时,它会显示日期,我已经检查了几次以查看是否我写对了,我就是这样。我只是看不到我做错了什么,因为我正在使用 2 个表,并且保存日期仅显示在 EventRequest 表中。

SELECT EventRequest.eventno, COUNT(EventPlan.planno) AS NumEvents, EventRequest.dateheld

FROM EventRequest, EventPlan

WHERE EventRequest.eventno = EventPlan.eventno

AND workdate BETWEEN #01-Dec-2013# AND #31-Dec-2013#

Group BY EventRequest.eventno;

【问题讨论】:

    标签: sql database


    【解决方案1】:

    这样做:

    我们错过了 EventRequest.dateheld from the group by

    SELECT EventRequest.eventno, COUNT(EventPlan.planno) AS NumEvents, 
    EventRequest.dateheld
    FROM EventRequest, EventPlan
    WHERE EventRequest.eventno = EventPlan.eventno
    AND workdate BETWEEN #01-Dec-2013# AND #31-Dec-2013#
    Group BY EventRequest.eventno, EventRequest.dateheld;
    

    【讨论】:

      【解决方案2】:

      您需要按每个非聚合列分组

      SELECT 
          EventRequest.
          eventno, 
          COUNT(EventPlan.planno) AS NumEvents, 
          EventRequest.
          dateheld
      
      FROM 
          EventRequest, 
          EventPlan
      
      WHERE 
          EventRequest.eventno = EventPlan.eventno
          AND workdate BETWEEN #01-Dec-2013# AND #31-Dec-2013#
      
      Group BY 
          EventRequest.
          eventno, 
          EventRequest.
          dateheld
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-06
        相关资源
        最近更新 更多