SQL错误[1111][HY000]:(conn=50)组函数的使用无效



我想从表中检索利润总额,我使用了以下查询,但它返回了无效的组函数使用错误。我的查询出了什么问题?

我的查询如下,

SELECT SUM(CASE 
WHEN (sum(t3.amount) - t2.amount) <= 0 
THEN 0 ELSE 
ROUND((sum(t3.amount) - t2.amount),2) END) as 'Profit'
FROM  `tabPurchase Order` as t1
JOIN`tabPurchase Order Item` as t2 ON t1.name  = t2.parent 
JOIN `tabSales Order Item` as t3 ON t1.lot_name = t3.lot_no
WHERE t1.docstatus = 1 AND t3.docstatus = 1 GROUP BY t1.lot_name

您不能对选择子句中尚未选择的任何内容进行分组。你唯一拥有的东西"选择";从你的t1表是";利润;其基于case子句。

为了在t1.lot_name上分组,您还必须选择它。希望这能帮你解决问题。

相关内容

  • 没有找到相关文章

最新更新