MySQL查询反转数据

标签 mysql

我的 MySQL 查询有问题。我的数据如下所示:

transaction_type | currency_from | currency_to |
------------------------------------------------
swap             | USD           | IDR         |
swap             | IDR           | USD         |
forward          | GBP           | USD         |
forward          | USD           | GBP         |
forward          | JPY           | EUR         |
forward          | EUR           | JPY         |
spot             | USD           | EUR         |
spot             | EUR           | USD         |

是否可以让输出看起来像这样:

transaction_type | currency_from | currency_to |
------------------------------------------------
swap             | USD           | IDR         |
forward          | GBP           | USD         |
forward          | JPY           | EUR         |
spot             | USD           | EUR         |

如上所示,每笔交易都会有反向交易,美元-IDR掉期,也会有IDR-美元远期英镑-美元掉期,也会有美元-英镑远期,现货也是如此。我尝试了很多方法,但仍然没有成功。任何人都可以帮忙吗?谢谢之前..

最佳答案

您按以下方式操作

SELECT t1.*
FROM tblTransaction AS t1 INNER JOIN tblTransaction AS t2
ON (
    t1.transaction_type = t2.transaction_type AND 
    t1.currency_from = t2.currency_to AND
    t1.currency_to = t2.currency_from AND
    t1.currency_from > t2.currency_from
)

关于MySQL查询反转数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31202118/

相关文章:

mysql - 我是否必须按顺序列出所有列并在 INSERT 语句中为每一列设置值?

php - 我可以在没有 paypal 重定向到成功页面的情况下更新数据库吗?

mysql - 输入后如何查看输入的具体SQL语法

mysql - 从 MySQL 中的多个列查询多个值

php - 在服务器 : How to fix? 上找不到本地主机或 phpMyAdmin

mysql - 暂停和恢复运行 mysql 查询

mysql - 使用分组依据从表中的最小值中选择值

php - 查询3张表,不重复

mysql - 使用 MySQL 按空值分区

mysql - Rails 控制台不同的 MySQL 结果