表A
╔═════╦════════════╦════════╗
║ ID ║ Date ║ Amount ║
╠═════╬════════════╬════════╣
║ 100 ║ 01/07/2016 ║ 50 ║
║ 100 ║ 02/07/2016 ║ 60 ║
║ 100 ║ 03/07/2016 ║ 70 ║
║ 100 ║ 04/07/2016 ║ 100 ║
║ 100 ║ 05/07/2016 ║ 450 ║
║ 101 ║ 01/07/2016 ║ 50 ║
║ 101 ║ 02/07/2016 ║ 70 ║
║ 101 ║ 03/07/2016 ║ 150 ║
║ 102 ║ 01/07/2016 ║ 30 ║
║ 102 ║ 02/07/2016 ║ 40 ║
║ 102 ║ 03/07/2016 ║ 60 ║
║ 104 ║ 01/07/2016 ║ 200 ║
║ 104 ║ 02/07/2016 ║ 300 ║
║ 104 ║ 03/07/2016 ║ 500 ║
╚═════╩════════════╩════════╝
表B
╔═════╦════════════╦════════════╗
║ ID ║ Date ║ MoveAmount ║
╠═════╬════════════╬════════════╣
║ 100 ║ 01/07/2016 ║ 260 ║
║ 100 ║ 02/07/2016 ║ 400 ║
║ 101 ║ 02/07/2016 ║ 30 ║
║ 101 ║ 03/07/2016 ║ 70 ║
║ 103 ║ 02/07/2016 ║ 10 ║
║ 104 ║ 02/07/2016 ║ 200 ║
╚═════╩════════════╩════════════╝
结果
╔═══════════╦═══════════════╦═══════════════╦════════════╗
║ TableA_ID ║ TableA_Amount ║ TableB_Amount ║ Difference ║
╠═══════════╬═══════════════╬═══════════════╬════════════╣
║ 100 ║ 400 ║ 400 ║ 0 ║
║ 101 ║ 100 ║ 100 ║ 0 ║
║ 102 ║ NULL ║ NULL ║ NULL ║
║ 104 ║ 300 ║ 200 ║ 100 ║
╚═══════════╩═══════════════╩═══════════════╩════════════╝
如何编写脚本以获得我想要的结果?
条件:
1)如果表A和表B中的最小日期相同,则将表B中的所有金额加起来,用表B中的min(日期)加上金额,ELSE加上表B中的所有金额。 / p>
2)然后将总和与表A中的最大值(日期) - 最小值(日期)进行比较。
答案 0 :(得分:0)
我认为很少有交叉应用可以做到这一点。如果有更聪明的方法可以做到这一点,祝你好运!
float