您链接到的示例使用动态SQL。不幸的是,当事先不知道输出列时,没有其他内置方法可以在SQL Server中进行透视。
如果数据不是太大,则可能最简单的是简单地从ASP.NET运行普通的行查询并在应用程序代码中执行数据透视。如果数据非常大,则必须在首先查询可能的列值之后动态生成SQL。
请注意,您实际上不需要编写生成动态SQL的SQL语句。您可以简单地在ASP.NET中生成SQL,这很可能会容易得多。只是不要忘记
Site在生成的查询中将它们分开之前先转义不同的值,也不要忘记对SQL语句的任何部分进行参数化,而这些部分通常是您无需数据透视表即可实现的。



