我要的是没有功能或过程的解决方案(权限问题)。
我有一张这样的桌子:
其中k =列数(实际上是k = 500)
col1 col2 col3 col4 col5.... col(k)
10 20 30 -50 60 100
,我需要创建一个这样的通讯行:
col1 col2 col3 col4 col5 ... col(k)
10 30 60 10 70 X
在Excel中,创建论坛并拖动它很简单,但是在sql中,如果我有很多列,手动添加(col1为col1,col1 + col2为col2,col1 + col2)似乎非常笨拙。 + col3作为col3直到colk等)。
有什么办法找到解决这个问题的好方法吗?
答案 0 :(得分:0)
如果很多报告中将需要/使用此“ colk”,我建议您创建一个计算列或一个视图,以使用k = cola + colb + ...对所有列求和。
sql中没有用于汇总列的功能(例如colA和colJ之间)
答案 1 :(得分:0)
您说您已将数据模型更改为行。因此,假设新表格包含三列:
您将获得SUM OVER
的累计金额:
select grp, pos, value, sum(value) over (partition by grp order by pos) as running_total
from mytable
order by grp, pos;