【发布时间】:2019-10-03 18:14:31
【问题描述】:
如果考虑汇率,如何选择2018年12月大额付款的客户
我有一张桌子:
- 交易日期 - 交易日期
- 传输数字 (20,2) - 支付金额
- CurrencyRate numeric (20,2) - 货币汇率
ID_Client Trandate Transum CurrencyRate Currency
--------------------------------------------------------
1 2018.12.01 100 1 UAH
1 2018.12.02 150 2 USD
2 2018.12.01 200 1 UAH
3 2018.12.01 250 3 EUR
3 2018.12.02 300 1 UAH
3 2018.12.03 350 2 USD
7 2019.01.08 600 1 UAH
但我认为“max”根本不是我需要的
SELECT ID_Client, MAX(Transum*CurrencyRate)
FROM `Payment.TotalPayments`
WHERE YEAR(Trandate) = 2018
AND MONTH(Trandate) = 12
我需要这个
ID_Client Transum
3 1750
其中 1750 是“UAH”,350USD + 300UAH + 250EUR,美元汇率为 2,欧元汇率为 3。
【问题讨论】:
-
从您的示例数据中,预期的输出是什么?可以加一下吗?
-
好的,如何将其计入汇率?
-
ID_CLIENT - 3 Transum - 1000UAH 其中 transum = 300uah+350usd
-
为什么
250EUR即250*3不包含在预期输出中的ID_Client 3中?意思是每个客户的前2个最高Transum只考虑计算? -
抱歉更正
标签: sql sql-server-2005