![](/img/trans.png)
[英]How to write a function in T-SQL, which accepts a table as input and returns result back as a table?
[英]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.