【发布时间】:2018-11-26 21:46:49
【问题描述】:
我正在尝试对两个表进行连接并筛选不在我的 select 语句中的值。
以下查询不起作用。
select b.[[Product]].[Major Category]]] ,sum(a.BIC_ZCDP) from TEMP_FORECAST_ALL a
join OUT_Dimension_DP_Product b
on right(a.MATERIAL,10) = b.[[Product]].[10D]]]
join OUT_Dimension_DP_Market c
on a.BIC_ZRMARKET = c.[[Market]].[Market]]]
group by b.[[Product]].[Major Category]]]
having a.CALMONTH in ('201810','201811','201812') and c.[[Market]].[Region]]] = 'UK'
我收到以下错误
消息 8121,第 16 级,状态 1,第 7 行 HAVING 子句中的“TEMP_FORECAST_ALL.CALMONTH”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
消息 8121,第 16 级,状态 1,第 7 行 HAVING 子句中的“TEMP_FORECAST_ALL.CALMONTH”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
消息 8121,第 16 级,状态 1,第 7 行 HAVING 子句中的“TEMP_FORECAST_ALL.CALMONTH”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
消息 8121,第 16 级,状态 1,第 7 行 HAVING 子句中的列 'OUT_Dimension_DP_Market.[Market].[Region]' 无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
我不想在我的 group by 子句中添加 Region 和 CALMONTH。
【问题讨论】:
-
稍微绕道,但您可能应该阅读一些内容。 sqlblog.org/2009/10/08/…
标签: sql sql-server