插入具有特殊条件的表格

时间:2016-02-04 14:36:13

标签: sql-server sql-server-2008 tsql

我希望你帮我解决一下我的sql问题。我正在使用SQL Server 2008.所以我基本上有两个表

  1. 表(主表),包含以下信息:
  2. 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中实现以下逻辑。

    1. 检查SUB TABLE中第一行的DATE是否与主表的第一行的日期相同,或者在02.02.2016和20.03.2016之间(主表的信息)。 如果正确,则将INTO MAINTABLE列QUANTITY中第一行的值和Maintable中的AMOUNT插入子量和子量UNTIL,它达到mainQuantity和mainAMOUNT的最大值。 剩余金额和剩余数量应插入到列子量和子量的下一行。

    2. 对下一行做同样的事情,并在主表的下一行插入剩余数量和金额。

    3. 示例:

      第一行: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并不是那么好。所以这就是为什么我非常希望你能帮助我。

      非常感谢你的时间和努力。

0 个答案:

没有答案