当我尝试将下面的查询分组时,会出现如下错误:
ora-00979:不是表达式分组
我得按供应商开一张表作为发票。
SELECT
ia.id,
COUNT(ia.invoice_id) total_de_facturas,
CASE
WHEN SUM(ia.invoice_amount) <> 0
THEN SUM(ia.invoice_amount)
ELSE SUM(ia.base_amount)
END monto_total,
ia.currency_code tipo_de_moneda,
MIN(ia.invoice_date) Primer_factura,
MAX(ia.invoice_date) ultima_factura
FROM invoices_all ia
GROUP BY ia.id, ia.invoice_id
ORDER BY total_de_facturas DESC;
实际上,我修复了按其他列分组的错误,该列没有聚合函数(currency\u代码)。但不是这个,我要按id和id对表进行分组,
发票日期列包含发票日期,
“货币代码”列具有发票的汇率
对这个麻烦有什么建议吗?
2条答案
按热度按时间axkjgtzd1#
3bygqnnd2#
把钱放在箱子外面的时候应该行得通。
如果您碰巧需要sum(ia.invoice\u amount)比较,那么您应该首先在下面的子查询中求和。