我有一张表,里面有200个字段。我通过没条件查询,假设查出10条数据,现在我要把这10条数据按照相同的列进行加和,如果字段少的话 我这样写sql:select sum(A),sum(B),sum(C)from table 但是现在200多个字段我该怎么写呢,求大家帮看看 不要用什么游标,那个我不懂。谢谢啦
第一步 在数据库中 右击-编写脚本为-insert 到
第二步 把字段都拷贝出来
第四步 把"]"括号替换成"),"。
第五步就是把这些列放到一行上面 在替换的时候选择正则表达式 然后把"\n" 换成 "" 空就好。
这个方法看起来步骤多 其实蛮简单的。 希望采纳
可以完成:
首先拼接成字符串sum(id),sum(name),sum(type) 形式
通过动态执行sql Exce('sql') 来执行就可以了.
案例如下:
SELECT * from Tab得到表tab所有的DateType属于int的列
效果图如下:
希望能帮到你!
有个思路:
1、在系统表中找出表名对应的列名,并把每个列名都加上SUM()
select 'sum('+name+'),' from syscolumns
where id=(select id from sysobjects where name='表名')
2、把查询结果复制出来,前面加select 后面加 from 表名。。。。你懂的
注意:复制出来后把最后一个逗号去掉。
3、执行查询
也可以写个存储过程来完成。
是这样的么 不行啊
select 'sum('+name+'),' from sys_columns where id=(select id from sysobjects where name='archive_report_digital')
你用的是什么数据库,存放列名的表是什么??sys_columns不要中间的线,直接syscolumns 我用的是sybase数据库,表名就是这个
你可以sp_help看下
sysobjects是存放表名的系统表
syscolumns是存放列名的系统表
如果和我的不同,可以按你的系统表名改
我的是oracle的
追答oracle系统表是这样的
user_tables 用户的表对象信息
user_tab_columns 用户的表列信息
你用这两个表关联查下,要考虑表中的关联关系
本人以oracle不是很了解,