我试图为每个帐户在表中标识最新的合并事务。该表中填充帐户合并,最新的合并交易是大merge_tx_id从另一个相关行的值分区
源表:
| merge_tx_id | merge_from_id | merge_to_id |
|-------------|---------------|-------------|
| 1 | 546 | 100 |
| 2 | 789 | 802 |
| 3 | 123 | 456 |
| 33 | 456 | 123 |
| 222 | 802 | 789 |
| 333 | 123 | 456 |
merge_tx_id IN(3,33,333)是基于merge_from_id同一账户或merge_to_id出现在另一行,在这个例子中,合并被执行,然后再次“未合并”。最新的ID应该是 '456'
| merge_tx_id | merge_from_id | merge_to_id |
|-------------|---------------|-------------|
| 3 | 123 | 456 |
| 33 | 456 | 123 |
| 333 | 123 | 456 |
merge_tx_id IN(2222)的基础上,merge_from_id同一账户或merge_to_id出现在另一行,最新的是为 '789'
| merge_tx_id | merge_from_id | merge_to_id |
|-------------|---------------|-------------|
| 2 | 789 | 802 |
| 222 | 802 | 789 |
merge_tx_id (1)是不相关的任何其他行的,最新的ID是“100”
| merge_tx_id | merge_from_id | merge_to_id |
|-------------|---------------|-------------|
| 1 | 546 | 100 |
我想我需要加入表与自身进行排名,但我不清楚如何,如果我能,执行它(第1栏或第2栏)的创作。
期望的结果是
| merge_tx_id | merge_from_id | merge_to_id |
|-------------|---------------|-------------|
| 1 | 546 | 100 |
| 333 | 123 | 456 |
| 222 | 802 | 789 |
例如:http://sqlfiddle.com/#!3/9a94b6/11
例如哇伟大的工作---谢谢^ _^ –
@bosco_taco快乐帮,欢迎堆栈溢出。如果此答案或任何其他人解决了您的问题,请将其标记为已接受。 –