Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 是否基于数据透视查询结果将旧表复制到新表?_Sql Server_Database_C# 4.0 - Fatal编程技术网

Sql server 是否基于数据透视查询结果将旧表复制到新表?

Sql server 是否基于数据透视查询结果将旧表复制到新表?,sql-server,database,c#-4.0,Sql Server,Database,C# 4.0,我有一个来自数据透视表*(动态列)*的数据透视查询,我的问题是我想将数据透视结果复制/克隆到新的数据透视表中。那就是我不知道怎么做 查询: 如何实现我的期望,以相同的数据结果从数据透视表到新的数据透视表获得相同的结果?您可以使用表(或全局临时表)通过“选择到”存储数据,这样您就可以访问它 DECLARE @cols NVARCHAR(MAX), @query NVARCHAR(MAX); SET @cols = STUFF((SELECT DISTINCT','+QUOTENAME(c.Rep

我有一个来自数据透视表*(动态列)*的数据透视查询,我的问题是我想将数据透视结果复制/克隆到新的数据透视表中。那就是我不知道怎么做

查询:

如何实现我的期望,以相同的数据结果从数据透视表到新的数据透视表获得相同的结果?

您可以使用表(或全局临时表)通过“选择到”存储数据,这样您就可以访问它

DECLARE @cols NVARCHAR(MAX), @query NVARCHAR(MAX);
SET @cols = STUFF((SELECT DISTINCT','+QUOTENAME(c.ReportedDate)
FROM dbo.Activity c FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 1, '');
SELECT @query = 'SELECT * into ##results FROM (SELECT  b.Description, CONVERT(VARCHAR(10), reportedDate, 120) as reportedDate,Status 
FROM Activity left join ActivityType b on b.activityTypeId = Activity.ActivityTypeId ) 
AS t PIVOT  (   COUNT(reportedDate)    FOR reportedDate IN( ' + @cols + ' )' + ') AS p ;'
  EXECUTE (@query);

SELECT * FROM ##results
DECLARE @cols NVARCHAR(MAX), @query NVARCHAR(MAX);
SET @cols = STUFF((SELECT DISTINCT','+QUOTENAME(c.ReportedDate)
FROM dbo.Activity c FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 1, '');
SELECT @query = 'SELECT * into ##results FROM (SELECT  b.Description, CONVERT(VARCHAR(10), reportedDate, 120) as reportedDate,Status 
FROM Activity left join ActivityType b on b.activityTypeId = Activity.ActivityTypeId ) 
AS t PIVOT  (   COUNT(reportedDate)    FOR reportedDate IN( ' + @cols + ' )' + ') AS p ;'
  EXECUTE (@query);

SELECT * FROM ##results