我希望你帮我解决一下我的sql问题。我正在使用SQL Server 2008.所以我基本上有两个表
ID | QUANTITY |量| DATE
示例:
iD|mainQuantity|mainAMOUNT|DATE | subQUANTITY | subAMOUNT |
-----------------------
1 | 200 | 1200 |02.02.2016| ? | ?
2 | 500 | 700 |20.03.2016| ? | ?
2. Table (SUB TABLE) that consists of the following information:
ID|subQUANTITY|subAMOUNT|DATE
-----------------------
1 | 280 | 1600 |07.02.2016
2 | 140 | 110 |22.02.2016
所以我的问题是。
我想在MS SQL Server中实现以下逻辑。
检查SUB TABLE中第一行的DATE是否与主表的第一行的日期相同,或者在02.02.2016和20.03.2016之间(主表的信息)。 如果正确,则将INTO MAINTABLE列QUANTITY中第一行的值和Maintable中的AMOUNT插入子量和子量UNTIL,它达到mainQuantity和mainAMOUNT的最大值。 剩余金额和剩余数量应插入到列子量和子量的下一行。
对下一行做同样的事情,并在主表的下一行插入剩余数量和金额。
示例:
第一行:ID1 - >日期07.02.2016 - >检查它是否相等或在02.02.2016和20.03.2016之间。 - >是的。 - > INSERT INTO MAINTABLE:
结果:
ID|mainQUANTITY|mainAMOUNT|DATE | subQUANTITY | subAMOUNT |
-----------------------
1 | 200 | 1200 |02.02.2016| 200 | 1200
2 | 500 | 700 |20.03.2016| 220 | 510
编辑:我忘了提及它:我没有1列日期。我有两列。一个startingDate和一个EndDate。 Date条件逻辑仍然相同。所以逻辑应检查日期是否等于开始日期或者在beginDate和EndDate之间
我尽力解释它尽可能简单。我希望你理解逻辑:) 我自己编程的T-SQL并不是那么好。所以这就是为什么我非常希望你能帮助我。
非常感谢你的时间和努力。