繁体   English   中英

tSQL如何编写一个返回动态大小表的视图/函数

[英]tSQL how to write a view/function which returns a table of dynamic size

我最近在t-SQL中编写了一个脚本,它使用动态SQL生成表。 脚本的输出因运行时间而异。 输出是这样的:

Group   2010    2011   2012   2013
  A      1       2       3      2
  B      4       3       3      4
  C      4       3       1      1

但是,每年都会在表格中添加另一年,这意味着表格大小会有所不同。

例如

Group   2010    2011   2012   2013   2014
  A      1       2       3      2     2
  B      4       3       3      4     2
  C      4       3       1      1     3

我需要能够通过访问来访问此表中的数据以生成一些报告,因此需要某种视图或函数来获取数据。

这样做的最佳方式是什么?

如果你必须在报告中使用此输出。 您必须在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM