动态SQL对各列进行求和运算

转载 2006年06月08日 14:18:00

如下表:

  id  F1    F2    F3   F4   F5   F6......
   1  a     b     12   25   10   20
   2  a     b     20    5    10   21
   3  c     d     12    123  1   21

我想达到如下效果
将F1,F2相同记录进行合并后只保留一条(列出所有字段),并对F3进行SUM求和

请问SQL语句该怎么写?

 

--动态SQL
create table tb(id int,F1 varchar(10),F2 varchar(10),F3 int,F4 int,F5 int,F6 int)
insert into tb select  1,'a','b',12,25,10,20
union all select 2,'a','b',20,5,10,21
union all select 3,'c','d',12,123,1,21
go

declare @sql varchar(8000)
set @sql=''
select @sql=@sql+',sum('+name+') as '+name from syscolumns where id=object_id('tb') and name not in('id','F1','F2') order by colid     --写不要汇总的列名
exec('select F1,F2'+@sql+' from tb group by F1,F2')

drop table tb

相关文章推荐

动态sql创建表、列

使用动态SQL实现按列递减的功能

代码如下:    declare @d_startdate datetime  --计算开始的时间    declare @i_week int -- 计算的周数    declare @i...

使用动态SQL实现行列转换和按列递减的功能

       /*    基本需求:    库房里会记录每个物料每周的使用数量。    报表要求显示物料的初始数量,及每周使用后的剩余数量。   &...
  • ykj_fj
  • ykj_fj
  • 2014-04-01 09:07
  • 1094

Mybatis动态sql

  • 2014-08-12 21:57
  • 28KB
  • 下载

MyBatis动态SQL

  • 2017-05-07 13:27
  • 13.70MB
  • 下载

MyBatis动态SQL之动态返回列(Dynamic Column)

一,业务描述 最近单位有这样一个报表,根据选择的年份返回年份的列,比如,选择 城市,2015,2016年,那么返回列就是三列,城市,2015年数据,2016年数据,如果是只返回城市 , 2016年数据...

动态SQL语句基本语法

  • 2010-01-31 02:40
  • 173KB
  • 下载

Mybatis3动态SQL物理分页

mybatis动态SQL

有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysq...

kettel循环执行动态sql

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)