列在HAVING子句中无效,因为它不是在聚合函数或GROUP BY
问题描述:
我试图让我的柱使用具有等于过滤器包含的,但问题是,它给出了这样的错误消息:列在HAVING子句中无效,因为它不是在聚合函数或GROUP BY
column is invalid in the HAVING clause because it is not contained in either an aggregate function or the GROUP BY
,当我尝试添加过滤器的选择和组由它说:
Column names in each view or function must be unique
,因为无论是列和过滤器是相同的:
列:
userTable.userid
过滤器:
user_filter.userid
这里是我的代码:
SELECT DISTINCT
userId,
username,
sum(userItem)
from userTable inner join user_filter
on userTable.userName = user_filter.userName
group by userId,
username,
having userTable.userId = user_filter.userId
答
你不需要Having
条款添加另一过滤器Where
条款
SELECT userid,
username,
Sum(useritem)
FROM usertable
INNER JOIN user_filter
ON usertable.username = user_filter.username
AND usertable.userid = user_filter.userid
GROUP BY userid,
username
也是DISTINCT
是多余的,因为Group by
用于select
编辑您的问题并包含生成错误的查询。 –
好吧,我会添加查询 – abdu
你究竟在努力实现什么?当两个表都有'userid'时,为什么你用'username'加入?为什么userfilter在用户名已经在'usertable'中时有'username'? –