基本上我要做的是将每隔一列转置到一行,旁边有以下列数据.
源可以只有两列,最多可达一千和几百万行.我只是按行进行此操作.我尝试过做一个"UNION ALL",但是当处理大型表中的数百列时,这个速度非常慢.
可能的解决方案是使用UNPIVOT,尽管我能找到的每个例子都在做一些与我想要的不同的事情.
示例:查询之前
Columns...
Apple | Apple Data | Banana | Banana Data | Cranberry | Cranberry Data | ....
Data Returned...
IOWA_PL_RLA | 1 | IOWA_PL_MATH | 1 | IOWA_SS_RLA 684 .....
Run Code Online (Sandbox Code Playgroud)
示例:查询后
MeasureID Score
CRCT_PL_RLA | 1
CRCT_PL_MATH | 1
CRCT_SS_RLA |684
.....
Run Code Online (Sandbox Code Playgroud)
希望我已经足够解释,有人可以提供帮助,因为我只是在T-SQL中经验丰富.如果需要更多信息,请告诉我.