有没有办法将动态旋转查询的结果直接存储到固定表中?由于结果是动态的,我不能通过指定列名称和方法来创建表,如“create table MyTable as (pivot select statement)”在SQL服务器上似乎失败(“关键字'AS'附近的语法不正确”)。
我尝试格式化下面的SQL以获得SELECT-INTO-FROM结构,但未能成功。非常感谢任何帮助!
用于旋转的SQL(由于这个伟大的网站而构建!):
用于旋转的SQL(由于这个伟大的网站而构建!):
declare @pivot varchar(max), @sql varchar(max)
create table pivot_columns (pivot_column varchar(100))
insert into pivot_columns
select distinct DateField from MyTable order by 1
select @pivot=coalesce(@pivot+',','')+'['+pivot_column+']'from pivot_columns
set @sql = 'SELECT * FROM (select DateField, RefCode, SumField from MyTable) p
PIVOT
(sum(SumField) FOR DateField IN ( ' + @pivot + ') )
AS pvl'
drop table pivot_columns
exec (@sql)
@sql
吗?构建的脚本是什么样子的? - Andriy M