我最近在t-SQL中编写了一个脚本,它使用动态SQL生成表。脚本的输出因运行时间而异。输出是这样的:
Group 2010 2011 2012 2013
A 1 2 3 2
B 4 3 3 4
C 4 3 1 1
但是,每年都会在表格中添加另一年,这意味着表格大小会有所不同。
e.g。
Group 2010 2011 2012 2013 2014
A 1 2 3 2 2
B 4 3 3 4 2
C 4 3 1 1 3
我需要能够通过访问来访问此表中的数据以生成一些报告,因此需要某种视图或函数来获取数据。
这样做的最佳方式是什么?
答案 0 :(得分:2)
如果必须在报告中使用此输出。您必须在SQL中修复列名,如下所示。
Group year4 year3 year2 year1
A 1 2 3 2
B 4 3 3 4
C 4 3 1 1
在报告工具中,您可以转换year1 =当前年份,year2 =当前年份 - 1,依此类推。
更新2
使用此方法,您可以轻松设计报告。
Group year5 year4 year3 year2 year1
A 1 2 3 2 2
B 4 3 3 4 2
C 4 3 1 1 3