首页 > 解决方案 > 如何查询循环数据?

问题描述

我正在尝试计算 PayPal 中的货币转换成本。对于一种货币转换,我从 PayPal 收到两个条目,我将它们导入到表 paypal_transaction 中:

简化后,表格如下所示:

贝宝交易

transaction_id transaction_id_2 价值
一个 10
一个 20
C D 30
D C 40

我想要的是这样的列表,其中我在一行中有两个连接的交易:

transaction_id transaction_id_2 value_tid1 value_tid2
一个 10 20
C D 30 40

但我得到的是:

transaction_id transaction_id_2 value_tid1 value_tid2
一个 10 20
一个 20 10
C D 30 40
D C 40 30

问题是条目相互引用(循环),所以我有点“重复”。

出于某种原因,我无法添加评论,因此回复 ysth:没有“主”ID,两个 ID 都是一对中的一个。这正是我的问题。我想要每个“ID 对”一行。这两个 ID 中的哪一个或两者都在该行中并不重要。

我也无法回答我的问题,stockoverflow 似乎不喜欢我的浏览器,所以:谢谢,LUUK!transaction_id < transaction_id_2 成功了!

标签: mysqlcircular-reference

解决方案


这将为您提供所有行

select a.transaction_id, b.transaction_id, a.value, b.value
from paypal_transaction a
inner join paypal_transaction b on a.transaction_id_2 = b.transaction_id

根据您的要求添加 where 子句


推荐阅读