原表date     Qty item
2007-1-2     100 1
2007-1-3     -80 2
2007-1-10     -120 2想要插入纪录Item3,date 按周分组。Item 3 必须是20的倍数.
插入后,每周的(Item 1+2+3)的累计值刚好大于或等于下周(item2累计+100)。
此例中2007年第一周item 1+2 累计值=20,如果满足下周item2+100累计值,要插入210(20-130-100)),必须是20的倍数,所以最终插入220
date     Qty    item
2007-1-2     100    1
2007-1-3      -80    2
2007-1-4      220    3
2007-1-10    -130    2

解决方案 »

  1.   

    可能需要觸發器,
    計算那邊的邏輯沒有看懂,LZ好好整理一下, 下周item2累计+100=-120+100=-20,第一週的和已經比它大了,何來220?
      

  2.   

    表达不是很清楚,抱歉!第一周累计值为20
    date     Qty item
    2007-1-2     100 1
    2007-1-3     -80 2第二周需要 130 +100
    2007-1-10     -120 2必须插入的数值为 (230(下周需要)-20(上周剩余))=210
    插入的数据必须是20的倍数,星期四
    所以插入2007-1-4      220    3
      

  3.   

    原表第三条纪录应该是-130,抱歉!
    date     Qty item
    2007-1-2     100 1
    2007-1-3     -80 2
    2007-1-10     -130 2想要插入纪录Item3,date 按周分组。Item 3 必须是20的倍数.
    插入后,每周的(Item 1+2+3)的累计值刚好大于或等于下周(item2累计+100)。
    此例中2007年第一周item 1+2 累计值=20,如果满足下周item2+100累计值,要插入210(20-130-100)),必须是20的倍数,所以最终插入220
    date     Qty    item
    2007-1-2     100    1
    2007-1-3      -80    2
    2007-1-4      220    3
    2007-1-10    -130    2