【发布时间】:2017-05-02 12:30:25
【问题描述】:
我正在努力将表格与 SUM 和 GROUP BY 函数连接在一起。下面的查询工作正常:
select ID, sum(amount)
from table1
group by ID
having sum(amount) between 1000 and 10000
由于 table1 仅包含客户 ID,因此我还需要加入包含客户名称(名称列)的表 CUSTOMERS。以下查询将不再适用于我:
select ID, name, sum(amount)
from table1
left join customers on table1.ID = customers.ID2
group by ID
having sum(amount) between 1000 and 10000
放弃SUM 和GROUP BY 功能确实“解决”了这个问题,因为列名称也将在结果中可用,但是我仍然需要根据 ID 对 AMOUNT 进行求和和分组。在这种情况下,我应该如何加入另一个表以同时显示表 CUSTOMERS 中的字段 NAME?
SELECT 列表中的列名或表达式无效'
当前作为错误消息给出。
【问题讨论】:
-
一般的 GROUP BY 规则说:如果指定了 GROUP BY 子句,则 SELECT 列表中的每个列引用必须要么标识一个分组列,要么是一个集合函数的参数!
-
添加一些示例表数据和预期的结果!
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?
标签: sql