【发布时间】:2012-10-19 19:17:07
【问题描述】:
假设我创建了一个临时表并且结构/数据看起来像这样
Type Lang N_cnt Pcnt T1 T2 T3 T4
============================================================================
ClassroomA 1 165897 1232 6439 1135 4516 1756
ClassroomA 2 175127 1254 6439 1135 1285 1953
ClassroomB 1 179515 1284 6439 1762 3945 1957
ClassroomB 2 159683 2041 6439 1575 4745 1955
我想旋转 T1、T2、T3、T4 列,以便得到这个结果
Type SubType Lang N_cnt P_cnt
==============================================================
ClassroomA NULL 1 165897 1232
NULL "T1" 1 6439/165897 6439/1232
NULL "T2" 1 *calculation* *calculation*
NULL "T3" 1 *calculation* *calculation*
NULL "T4" 1 *calculation* *calculation*
ClassroomA NULL 2 175127 1254
NULL "T1" 2 6439/175127 6439/1254
NULL "T2" 2 *calculation* *calculation*
NULL "T3" 2 *calculation* *calculation*
NULL "T4" 2 *calculation* *calculation*
请注意,在上面写着calculation 的地方,我将取T{x} 的值并对其进行一些计算(我为第一个T1 做了一个示例)。我还想补充一点,实际上我有大约十个以上这些T 变量。
任何想法如何旋转列?
【问题讨论】:
标签: sql-server tsql pivot unpivot