我想得到十进制类型的所有列的总和,按唯一ID字段分组。是否有更简单的方法来汇总所有列而不是列出每个列名?也许是按数据类型,因为列都具有相同的类型(十进制(18,4))?
这就是我现在正在做的事情:
SUM(
ISNULL(TABLEA.aaa,0)+
ISNULL(TABLEB.bbb,0)+
ISNULL(TABLEC.ccc,0)+
) AS TOTAL
等,无限广告
答案 0 :(得分:0)
这并不意味着是一个动态SQL解决方案,而是节省时间。针对您感兴趣的表运行此操作,将结果复制回查询窗口,并使用一些mod删除最后一个加号,使其正常工作。
Select 'isnull(' + Column_Name + ',0)+'
From information_schema.columns
Where TABLE_NAME = 'myTable'
and data_type = 'int'