SQL Server中的动态数据透视

时间:2012-02-15 13:52:06

标签: sql-server-2008 pivot unpivot

我有一个同时使用pivot和unpivot的查询,我得到了正常的工作。当用户从表单传入参数时,代码是从Excel宏调用的存储过程的一部分。

我似乎无法想到让我的“IN”字符串动态化的方法。 IN部分类似于

pivot
  (
  Sum(numbers) for

  WeekNum in ([12*02],[12*03],[12*04],[12*05],[12*06],[12*07],[12*08],[12*09],[12*10],[12*11],[12*12],[12*13])
  ) as q

我试图使IN子句动态化。因此,如果用户输入12 * 04作为其起始范围而12 * 16作为其结束范围,则上述代码应该动态更改。我可以将整个查询作为字符串传递然后更新它,但我不确定这是否可行。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

只要您在存储过程中动态构造SQL语句并通过sp_executesql

执行它,它就会起作用