基本上我想要做的是将每隔一列转换为一行,旁边有以下列数据。
源只能有两列,最多有一千和几百万行。我只是在每行的基础上这样做。我尝试过执行“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 .....
示例:查询后
MeasureID Score
CRCT_PL_RLA | 1
CRCT_PL_MATH | 1
CRCT_SS_RLA |684
.....
希望我已经对自己进行了足够的解释,以便有人可以提供帮助,因为我在 T-SQL 方面只有中等经验。如果需要更多信息,请告诉我。