本帖最后由 iamsea22 于 2011-03-18 17:12:54 编辑

解决方案 »

  1.   


    最好给出完整的表结构,测试数据,计算方法和正确结果.否则耽搁的是你宝贵的时间。
    如果有多表,表之间如何关联?
    发帖注意事项
    http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
      

  2.   

    修改了问题: 有以下表A,NBR列最大到5,要传入 1~11 个数来作为cnt 的新值,对于已经有的NBR更新,没有的NBR则插入新值:
    原表:A
    id NBR cnt
    ----------- ---------- ----------- ----------- -----------
    1 1 20
    1 2 30
    1 3 20
    2 1 20
    2 2 20如果传入参数  id = 1,  @cnt1 = 11 , @cnt2 = 1, @cnt3=1,@cnt4 = 20 ,则结果为
    id NBR cnt
    ----------- ---------- ----------- ----------- -----------
    1 1 11
    1 2 1
    1 3 1
    2 1 20
    2 2 20
    1 4 20
    如果传入参数  id = 1,  @cnt1 = 11 , @cnt2 = 1, @cnt3=1,@cnt4 = 20, @cnt5 = 22则结果为
    id NBR cnt
    ----------- ---------- ----------- ----------- -----------
    1 1 11
    1 2 1
    1 3 1
    2 1 20
    2 2 20
    1 4 20
    1 5 22
      

  3.   

    忘了说:传入参数的数目是固定的,都是到cnt5,即上面的 id = 1, @cnt1 = 11 , @cnt2 = 1, @cnt3=1,@cnt4 = 20 ,此时应该是@cnt5 = 0