获取SQL最大值列并更新

求助:SQL中如何实现取最大值列,并更新?
SQL查询结果为:
行号      品号        列1      列2      列3      ……      列30      列31
  1      A001        0        30      40       ……       30         1
  2      A002        50       0       50       ……       40        -2

如何将【列31】的值 “加” 到同一行【列1——列30】最大值那一列去,如果最大值有相同的列,则只加到从左到右的第一个最大值列,结果如下:
行号      品号        列1      列2      列3      ……      列30      列31
  1      A001        0        30      41       ……       30         1
  2      A002        48       0       50       ……       40        -2

搞定了,列转行后,按料号分组调整差值即可。