获取每个项目的计算(美元货币转换)总计

Posted

技术标签:

【中文标题】获取每个项目的计算(美元货币转换)总计【英文标题】:Get computed (USD currency conversion) total of each item 【发布时间】:2018-01-01 03:51:25 【问题描述】:

我有一个获取每个项目总和的查询,但是当我将 SUM(d.AMT) 更改为 (SUM(d.AMT) * e.EXCHANGE_RATE) [USD Amount] 以将总和转换为美元时,我遇到了错误:

选择列表中的“EXCHANGE_RATE.EXCHANGE_RATE”列无效 因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句。

。有人可以解决我的查询吗?谢谢大家!

SELECT d.ITEM_NO, h.ITEM_TYPE, h.ITEM_STATUS, d.CURRENCY,SUM(d.AMT)--(SUM(d.AMT) * e.EXCHANGE_RATE) [USD Amount]
FROM ITEM_HDR h
JOIN ITEM_DET d ON h.ITEM_NO = d.ITEM_NO
JOIN EXCHANGE_RATE e ON d.CURRENCY = e.CURRENCY_FROM
GROUP BY d.ITEM_NO, h.ITEM_TYPE, h.ITEM_STATUS, d.CURRENCY

【问题讨论】:

【参考方案1】:

您需要在 之前乘以总和:

SELECT d.ITEM_NO, h.ITEM_TYPE, h.ITEM_STATUS, d.CURRENCY,
       SUM(d.AMT * e.EXCHANGE_RATE) as [USD Amount]
FROM ITEM_HDR h JOIN
     ITEM_DET d
     ON h.ITEM_NO = d.ITEM_NO JOIN
     EXCHANGE_RATE e 
     ON d.CURRENCY = e.CURRENCY_FROM
GROUP BY d.ITEM_NO, h.ITEM_TYPE, h.ITEM_STATUS, d.CURRENCY;

但是,如果您希望每个项目都使用此功能,请简化 SELECTGROUP BY

SELECT d.ITEM_NO, h.ITEM_TYPE,
       SUM(d.AMT * e.EXCHANGE_RATE) as [USD Amount]
FROM ITEM_HDR h JOIN
     ITEM_DET d
     ON h.ITEM_NO = d.ITEM_NO JOIN
     EXCHANGE_RATE e 
     ON d.CURRENCY = e.CURRENCY_FROM
GROUP BY d.ITEM_NO, h.ITEM_TYPE;

【讨论】:

【参考方案2】:

改变 (SUM(d.AMT) * e.EXCHANGE_RATE) [USD Amount]SUM(d.AMT * e.EXCHANGE_RATE) AS [USD Amount]

【讨论】:

以上是关于获取每个项目的计算(美元货币转换)总计的主要内容,如果未能解决你的问题,请参考以下文章

计算所有项目总计到小计 Jquery

精度损失而引发的 bug

设计一个python程序,计算人民币与其它货币之间汇率的兑换关系

“数字美元”最新细节:或与中国央行数字货币类似

如何使用 sql 中的单个查询获取项目计数和总计数?

求python代码。货币转换人民币对美元。格式为: 人民币:20 美元:xxx