MySQL按查询分组,但有一个查询我需要转换货币汇率&;合并结果

MySQL按查询分组,但有一个查询我需要转换货币汇率&;合并结果,sql,group-by,Sql,Group By,我有一张带菲尔德的桌子 id | Customer | Currency Type | Sales Amt | Date ===================================================== 1 | ClientA | Dollar | 100$ | Timestamp 2 | ClientB | Rupees | 1500Rs | Timestamp id |客户|币种|销售金额|日期 =========

我有一张带菲尔德的桌子

id | Customer | Currency Type | Sales Amt | Date ===================================================== 1 | ClientA | Dollar | 100$ | Timestamp 2 | ClientB | Rupees | 1500Rs | Timestamp id |客户|币种|销售金额|日期 ===================================================== 1 | ClientA |美元| 100$|时间戳 2 |客户B |卢比| 1500卢比|时间戳 我正在尝试类似于
“按货币类型从表中选择货币类型、金额(销售金额),其中开始和结束组之间的日期”

但我想先计算所有卢比的金额,然后将它们与美元类型合并。
总额(销售金额)*45(换算率),其中货币为卢比”

因此,结果我只能得到一种货币类型,即美元金额,这样我就可以在此基础上显示报告

这可能吗?请任何人帮我提出这样的疑问或任何其他出路


谢谢

您可以使用已搜索的
案例
语句来确定每条记录是否需要将其转换为美元

SELECT  SUM(CASE [Currency Type]
              WHEN 'Rupees' THEN [Sales Amt] * 45
              WHEN 'Dollar' THEN [Sales Amt]
              WHEN 'Other'  THEN [Sales Amt] * ???
              ELSE [Sales Amt]
            END)
FROM    Table
WHERE   Date BETWEEN Start and End

创建表CurrencyConvertTable 具有下表结构和数据

| CurrencyType | CurrencyConvertRate |
======================================
| Dollar        | 1                  | 
| Rupees        | 45                 | 
像这样的Noq查询

Select CurrencyType
,Sum(SalesAmt*CurrencyConvertRate) 
from MainTable mt
JOIN CurrencyConvertTable ct
  ON mt.CurrencyType = ct.CurrencyType
where Date between start and End 
group by CurrencyType

处理更多货币类型的最佳方法。

我建议使用自己的货币换算系数表

conversion_id     source   target   factor
1                 Rupees   Dollar   45.0
2                 Dollar   Dollar   1.0
现在,您可以加入货币转换表并动态计算总和,而无需在END构造时使用
CASE。
如果您还设计了一个货币表,并且只使用货币ID,那就更好了