【发布时间】:2018-05-07 23:07:50
【问题描述】:
假设我有一张桌子,上面有一堆货币兑换对。它有 4 列:
CURR_BOUGHT | AMT_BOUGHT | CURR_SOLD | AMT_SOLD
假设我们有 10 英镑,我们将其兑换为 13.33 美元,该行将填充:
USD | 13.33 | GBP | 10
我们有大量不同货币对的此类交易。现在假设我想找出我在所有交易中购买的美元总额,以及我在所有交易中出售的美元总额,以及两者之间的差异?是否可以运行将打印这 3 个数字的查询?
这个相当混乱的查询将在单独的行中打印 3 个数字。我试图让它在同一行的不同列中打印 3 个数字。
SELECT SUM(AMT_BOUGHT) FROM TRADES WHERE (CURR_BOUGHT = 'USD') UNION
SELECT SUM(AMT_SOLD) FROM TRADES WHERE (CURR_SOLD = 'USD') UNION
SELECT (SELECT SUM(AMT_BOUGHT) FROM TRADES WHERE (CURR_BOUGHT = 'USD')) - (SELECT SUM(AMT_SOLD) FROM TRADES WHERE (CURR_SOLD = 'USD')) FROM TRADES;
【问题讨论】:
-
是的。这是可能的,并且您的标题已经包含允许您努力这样做的信息。当您遇到困难时,您可以回到这里并解释您遇到的问题,包括您编写的 SQL,并提出与该 SQL 相关的特定问题。祝你好运。
-
我在这里有点新,没有意识到我应该包括我以前的努力。我认为它可能只是掩盖了问题,但我现在已经将其包含在内。