Sql server 动态SQL取消PIVOT并选择到临时表中

Sql server 动态SQL取消PIVOT并选择到临时表中,sql-server,tsql,sql-server-2005,dynamic-sql,Sql Server,Tsql,Sql Server 2005,Dynamic Sql,我知道关于动态SQL和Insert到临时表还有一些问题,但我找不到与我的特定问题完全匹配的问题。我在tmp中有52列数据,我需要合计这些数据并存储在tmp2中。注意:如果我删除第一行,语法工作正常 这是我有问题的选择!我当前的动态查询提供了以下语法,但我无法使其正常工作。当前,初始from后面的开放括号没有匹配的结束括号。我在决赛中尝试了不同的位置,但得到了不同的结果 以下是当前语法 select * into ##tmp2 from( select x,y,sum(wk) as mysum

我知道关于动态SQL和Insert到临时表还有一些问题,但我找不到与我的特定问题完全匹配的问题。我在tmp中有52列数据,我需要合计这些数据并存储在tmp2中。注意:如果我删除第一行,语法工作正常

这是我有问题的选择!我当前的动态查询提供了以下语法,但我无法使其正常工作。当前,初始from后面的开放括号没有匹配的结束括号。我在决赛中尝试了不同的位置,但得到了不同的结果

以下是当前语法

select * into ##tmp2 from(
select x,y,sum(wk) as mysum  from ##tmp
  unpivot (wk for nwk in ([1],[2],[3],[4],[7],[8],[9],[10],[11],[12],[13],   [14],[15],[16],
[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],
[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52]))
 as u  group by x,y
有什么想法吗?

使用:

select x,y,sum(wk) as mysum 
into ##tmp2 
from ##tmp 
unpivot (wk for nwk in ([1],[2],[3],[4],[7],[8],[9],[10],[11],[12],[13], [14],[15],[16], [17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],‌​[33],[34], [35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],‌​[51],[52])) as u 
group by x,y

在[1]、[2]、[3]、[4]、[7]、[8]、[9]、[10]、[11]、[12]、[13]、[14]、[15]、[16]、[17]、[18]、[19]、[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27]、[28]、[29]、[30]、[31]、[32]、[33]、[34]、[35]、[36]、[37]、[38]、[39]、[40]、[41]、[42]、[46]、[45]、[45]、[50]、[50]、[52]、[52]组中,从tmp2中选择x,将x、x、x、y、y、y、y、y、y、y、y、y、y、y、y、y、y、y,yThanks@lad2025。明亮的它起作用了!好吧,它确实起作用了!我发誓是的。然而,将语句放入动态查询后,我现在在关键字“as”附近得到一个语法错误。当使用上述语法时,在unpivot行上。我疯了吗??我的语法和上面一样@MiguelH可能缺少括号,请参见更新的[52]作为uBrilliant!丢失的支架解决了它!我应该自己发现的@MiguelH这种打字错误是最糟糕的,尤其是当你盯着文字墙看了好几个小时。我知道痛苦:
select * into ##tmp2 from(
select x,y,sum(wk) as mysum  from ##tmp
  unpivot (wk for nwk in ([1],[2],[3],[4],[7],[8],[9],[10],[11],[12],[13],   [14],[15],[16],
[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],
[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52]))
 as u  group by x,y
select x,y,sum(wk) as mysum 
into ##tmp2 
from ##tmp 
unpivot (wk for nwk in ([1],[2],[3],[4],[7],[8],[9],[10],[11],[12],[13], [14],[15],[16], [17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],‌​[33],[34], [35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],‌​[51],[52])) as u 
group by x,y