给定如下表。我想将列 escrow1 中的所有值移动并添加到它对应的 uid 的 balance1 中。并且喜欢 escrow2 到 balance2。所以在下面的情况下。uid 4 的行余额为 1858000+42000,uid 3 的行余额 1 = 1859265+30735 和 escrow1 = 0,uid 2 的行余额 2 = 940050+1050000 和 escrow2 = 0。其他是一样的。是否可以在一个查询中执行此操作?我一直在努力,但我想不出一个解决方案,所以我可能不得不在一个函数中执行它并循环所有行,但我不希望这样做。另外我知道只有少量行的托管值不等于 0。鉴于此,有没有办法优化查询?
uid | balance1 | escrow1 | balance2 | escrow2
-----+----------+---------+----------+---------
1 | 5000 | 0 | 0 | 0
9 | 5000 | 0 | 0 | 0
6 | 1900000 | 0 | 1899960 | 0
5 | 1900000 | 0 | 1900000 | 0
7 | 1900000 | 0 | 1900000 | 0
8 | 1900000 | 0 | 1900000 | 0
4 | 1858000 | 42000 | 1900014 | 0
2 | 1910000 | 0 | 940050 | 1050000
3 | 1859265 | 30735 | 1895050 | 0