关于自定义设置聚合计算的解决方案

原创 2006年05月16日 20:27:00

我的思路就是建一个设置保存用的表,结构如下

create table settings(

colname varchar(30), --列名

colsum bit, --是否汇总

colby bit,  --是否汇总依据

hostname varchar(20))

go

/*可以在客户端将用户需要汇总的列以及汇总依据的列写入此表*/

create procedure querysum

@filterstring varchar(800)   --过滤条件,我喜欢将字符串传入

as

begin

declare @sql varchar(8000),@colsums varchar(800),@colbys varchar(800)

select @sql='',@colsums='',@colbys=''

select @colsums=@colsums+'sum('+rtrim(colname)+') as '+ rtrim(colname+',' from settings where colsum=1 and hostname=host_name()

set @colsums=substring(@colsums,1,len(@colsums)-1)

select @colbys=@colbys+rtrim(colname) from settings where colby=1 and hostname=host_name()

set @colbys=substring(@colbys,1,len(@colbys)-1)

select @sql='select '+@colbys+','+@colsums+' from tablename '

if  @filterstring<>'' then

    set @sql=@sql+' where ' +@filterstring

set @sql=@sql+' group by '+@colbys

exec(@sql)

end

/*这样就可以满足 1-汇总依据先后次序 2-汇总列任意设置 3-甚至可以指定@tablename

4-汇总依据可设置*/

相关文章推荐

CRM自定义框架解决方案发布文件

  • 2014年06月24日 22:18
  • 1.2MB
  • 下载

Android 自定义视频录制终极解决方案(翻转问题)

Android 自定义视频录制翻转问题终极解决方案 自定义视频录制 使用系统可用播放器 前后摄像和视频反转问题 总结 自定义视频录制mediarecorder = new MediaRecorder(...

android 关于自定义解锁动画和实现全屏的解决方案

先说说缘由吧,最近项目要研究在亮屏的时候用展示一个开屏动画,我一想这个不难吧,截获亮屏的广播事件 Intent.ACTION_SCREEN_ON然后处理对应的事件就好了,但我发现好像没有正确的api可...

UITableViewCell中自定义cell添加手势没有响应解决方案

情况一:自定义UITableViewCell,且cell中添加了一个UILabel,我们的目的是给该label添加一个手势。 情况二:原生cell上添加了一个UIView,我们的目的是给UIView上...

关于Fragment中嵌套不能包含include自定义标题的解决方案.txt

说明: 在正常的用fragment作为数据源应用于viewPager中,是不可以直接在viewPager中插入include自定义标题的, 如果想要插入自定义标题并且让...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于自定义设置聚合计算的解决方案
举报原因:
原因补充:

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