SQL Server 2005在列中划分两行

时间:2014-09-02 14:48:40

标签: sql sql-server sql-server-2005

我有一个像这样设置的表:

        Description                Jan |  Feb  | Mar  | Apr .....   
Volume        

Days in Month

Gal/Day Average

我希望能够将每个月的交易量除以天数(并乘以100),以填写每个月的加仑/天平均行数。

我得到代码的最远的是:

Update Table
set [Jan] = ?
where Description = 'Gal/Day Average'

1 个答案:

答案 0 :(得分:1)

不是一个非常好的数据格式,但你可以这样做:

Update toupdate
    set [Jan] = volume.jan / dim.jan
    from table toupdate cross join 
         table volume cross join
         table dim
    where toupdate.description = 'Gal/Day Average' and
          volume.description = 'Volume' and
          dim.description = 'Days In Month';

更好的数据格式将包含以下列:

  • (可能是一年)
  • 体积
  • daysinmonth
  • 平均