我知道动态SQL和插入到临时表中有一些问题,但我找不到与我的特定问题完全匹配的问题。
我在## tmp的52列中有数据,我需要总计这些并存储在## tmp2中。
注意:如果删除第一个,语法工作正常line
select * into ##tmp2 from
"选择进入"我有问题!我当前的动态查询提供了以下语法,但我无法使其工作。目前在最初"来自"之后的开放式括号没有匹配的结束括号。
我已经为决赛")"尝试了各种职位。但得到一个混合物
Incorrect syntax near ')' -- if placed at the end of the statement
Invalid column name 'wk' -- if added as "from ##tmp) onto the second from"
Incorrect syntax near the keyword 'group'. -- if added after ")) as U"
这是当前的语法
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
有什么想法吗?
答案 0 :(得分:1)
使用:
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