【发布时间】:2016-10-03 12:48:27
【问题描述】:
我有两张桌子:
(i) 显示每个用户的余额的余额表
(ii) 一个交易表,其中包含每个用户的借记和贷记交易
我需要检查是否有任何用户的余额表中的余额与他/她在交易表中的交易总和之间存在差异。
当我输入以下查询时:
select sum(transaction.credit)-sum(transaction.debit),balance.balance
from transaction
right join balance on balance.user_id = transaction.user_id
where balance.balance <> sum(transaction.credit)-sum(transaction.debit)
group by transaction.user_id
我收到一条错误消息“组功能使用无效”。但即使我删除了最后一行,我仍然会收到相同的消息。
我做错了什么?
【问题讨论】:
-
第二点是这个查询绝对没用,它不能帮助你识别不符点。它的输出将是数字,但您无法确定这些数字实际上来自哪些行
-
@e4c5 错误本身被引发,因为 OP 在 where 子句中使用聚合函数。
-
哎呀@shadow,我的意思是输入投影而不是项目:)