如果您使用的是SQL Server 2008,我认为您应该研究使用CROSS APPLY(VALUES)技术:
http://www.sqlservercentral.com/articles/CROSS+APPLY+VALUES+UNPIVOT/91234/
基本上,它是这样的:
SELECt x.NewColumn1, x.NewColumn2FROM YourTable tCROSS APPLY ( VALUES (t.OldColumn1, t.OldColumn2), (t.OldColumn3, t.OldColumn4), ...) x (NewColumn1, NewColumn2);
这是一个可运行的示例:http ://sqlfiddle.com/#!3/
9a9d2/5/0



