gpt4 book ai didi

mysql - 如何使用同一列内的计算

转载 作者:行者123 更新时间:2023-11-29 07:23:49 25 4
gpt4 key购买 nike

假设表1有账户信息

账户表

+--------------+----------------+----------+----------+| Account_Name | Account_Number | Currency |   Date   |+--------------+----------------+----------+----------+| Test 1       |           1234 | USD      | 20190228 || Test 2       |          5678  | JPY      | 20190228 || Test 3       |           9012 | AUS      | 20190228 || Test 4       |           3456 | MEX      | 20190228 |+--------------+----------------+----------+----------+

然后表2有货币信息

货币表

CurrencyName|CurrencyRate|DateUSD         |50.9999     |20190228KRW         |1.52422     |20190228JPY         |11.2232     |20190228MEX         |6.2323      |20190228AUS         |5.1111      |20190228

等等……

我需要这样的输出

Account_Name|Account_Number|CurrencyName|USCurrency|DateTest1       |1234          |US          |1.0000    |20190228Test2       |5678          |JPY         |572.3820  |20190228Test3       |9012          |AUS         |260.6655  |20190228Test4       |3456          |MEX         |317.8466  |20190228

在 USCurrency 列上,我需要乘以/计算另一种货币对美国的汇率。我加入这两个表没有问题。我不知道的是如何计算同一列内的比率。谢谢!!

最佳答案

除了你的输出对我来说没有多大意义(更多内容在下面),诀窍是使用你的 CurrencyTable 两次。

SELECT Account_Name, Account_Number, A.Currency, C2.CurrencyRate * C1.CurrencyRate AS USCurrency, A.Date
FROM AccountTable A
JOIN CurrencyTable C1 ON A.Date = C1.Date AND A.Currency=C1.CurrencyName
JOIN (SELECT * FROM CurrencyTable WHERE CurrencyName='USD') C2 ON A.Date = C2.Date

正如您将在结果中注意到的那样,USCurrency for row = USD 不返回 1。它需要将 2 除以相互评分以获得此结果,但出于某种原因,您要求的产品具有您想要的输出。

我相信您想要的是 C2.CurrencyRate/C1.CurrencyRate AS USCurrencyC1.CurrencyRate/C2.CurrencyRate AS USCurrency,这当然会更改所有记录.

关于mysql - 如何使用同一列内的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54859441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com