怎么把这个查询出来的数据插入临时表中

saturdaysun8520 2014-11-25 05:07:20
DECLARE @sql_str VARCHAR(8000)
DECLARE @sql_col VARCHAR(8000)
SELECT @sql_col = ISNULL(@sql_col + ',','') + QUOTENAME(targetname) FROM Test_Detail where TestGuid='ec742333-fea9-45b6-83af-6124d4cd92ee'
and TestType='形态测试' GROUP BY targetname order by max(px),max(ddguid) asc
SET @sql_str = '
SELECT * FROM (
SELECT [sportername] ,[zhuxm],[school],[targetname],[testvalue] FROM [Test_Detail] ) p PIVOT
(max([testvalue]) FOR [targetname] IN ( '+ @sql_col +') ) AS pvt
ORDER BY pvt.[sportername]'
PRINT (@sql_str)
EXEC (@sql_str)
...全文
471 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43222824 2018-09-17
  • 打赏
  • 举报
回复
我也同样的问题 。 DECLARE @sql_str VARCHAR(8000) DECLARE @sql_col VARCHAR(8000) SELECT @sql_col = ISNULL(@sql_col + ',','') + QUOTENAME([AccPeriod]) FROM [wahTrans] GROUP BY [AccPeriod] SET @sql_str = ' SELECT * FROM ( SELECT [ProjNo],[StkNo],[AccPeriod],[TrnQty] FROM [wahTrans]) p PIVOT (SUM([TrnQty]) FOR [AccPeriod] IN ( '+ @sql_col +') ) AS rumx ORDER BY rumx.[ProjNo],[StkNo]' --PRINT (@sql_str) EXEC (@sql_str) 怎么样输入临时表
weixin_43222824 2018-09-17
  • 打赏
  • 举报
回复
求楼主的转临时表的语句
习惯性蹭分 2014-11-25
  • 打赏
  • 举报
回复
要是可以用全局临时表的话, 可以用下面的。

DECLARE @sql_str VARCHAR(8000)
DECLARE @sql_col VARCHAR(8000)
SELECT @sql_col = ISNULL(@sql_col + ',','') + QUOTENAME(targetname) FROM Test_Detail where TestGuid='ec742333-fea9-45b6-83af-6124d4cd92ee'
and TestType='形态测试' GROUP BY targetname  order by  max(px),max(ddguid) asc
SET @sql_str = '
SELECT * into ##T FROM (
    SELECT [sportername] ,[zhuxm],[school],[targetname],[testvalue] FROM [Test_Detail]  ) p PIVOT 
    (max([testvalue]) FOR [targetname] IN ( '+ @sql_col +') ) AS pvt 
ORDER BY pvt.[sportername]'
PRINT (@sql_str)
EXEC (@sql_str) 
还在加载中灬 2014-11-25
  • 打赏
  • 举报
回复
创建一个和结果集一样的表结构,然后
INSERT INTO #TB EXEC (@sql_str) 
只能是这样,拼凑的在EXEC执行完就不见了
江南小鱼 2014-11-25
  • 打赏
  • 举报
回复
先创建一个临时表,比如说#temp 拼凑完SQL,执行

insert into #temp EXEC (@sql_str) 
或者,拼凑SQL的时候加上
insert into #temp 
,拼凑完EXEC (@sql_str)
chen357313771 2014-11-25
  • 打赏
  • 举报
回复
CREATE TABLE #test
(
	...
)
INSERT INTO #test
EXEC(@sql_str)

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧