动态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查询统计表中一列求和

收款管理:t_ACRD_GthMst 原币付款金额: foamt 后台查询收收select sum (foamt) from t_ACRD_GthMst 付款管理:t_ACPD_PayMst 原币收...

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

如下表:  id  F1    F2    F3   F4   F5   F6......   1  a     b     12   25   10   20   2  a     b     20...
  • lee576
  • lee576
  • 2006年12月05日 21:24
  • 3986

SQL查询按年、月累计求和

先有如下表格 C为主键 想查询出每年每月的累计交易额 SELECT 年, 月, 交易额, (SELECT SUM(交易额) ...

sql中对两列数据进行运算作为新的列

select a1,a2,a1+a2 a,a1*a2 b,a1*1.0/a2 c from bb_sb 把a表的a1,a2列相加作为新列a,把a1,a2相乘作为新列b,注意: 相除的时候得进行类型...

实现SQL动态列计算的示例

被数据库厂商扩展后的SQL可以动态拼接出语句执行,但SQL的集合运算和有序计算不方便,实现动态列计算很繁琐,往往要借助高级语言拼出动态SQL。   免费的集算器支持动态脚本、有序计算、显式集合,...

简单的SQL语句:计算一列中某个值的个数

这两天在参加

SQL前后相减、累计求和、多行合并

前后相减 with tb as( select 1 id,25 qty union all select 2,30 union all select 3,67 ) select *,(select ...

如何用sql实现两个字段相加?

MS_SQL select nullif(isnull(A,0)+isnull(B,0),0) as [Sum] from table1 Oracle 用 select case when nvl...

sql语句统计求和两种 写的方式

第一种: SELECT t1.name ,   (select COUNT(*) from ysl_order where TYPE ='YSL_TEACHING_ROUNDS' and t1.i...

[整理记录]SQL同行多列求和元素为null的解决方案

在sql中有同一行的多列求和:比如表usr_table,表有四列,如下usr item1, item2, item3针对每个user对item1,item2,item3求和的sql为: "sele...
  • wenlele
  • wenlele
  • 2011年05月27日 20:14
  • 4268
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态SQL对各列进行求和运算
举报原因:
原因补充:

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