日期:2014-05-18  浏览次数:20526 次

横向转为纵向(等着用)
我有一个表 tt,内容如下:
----------------------------------
字段: F001 F002 F003 F004 F005 F006 F007 F008 F009  
内容: 谢 谢 各 位 大 虾 的 帮 助
----------------------------------
想实现为
字段: W1 W2
内容: F001 谢
  F002 谢
  F003 各
  F004 位
  F005 大
  F006 虾
------------------
谢谢了。。

------解决方案--------------------
05:

select 
w1,orders as w2
from t1
unpivot
(orders for [w1] in([F001],[F002],[F003],[F004],...)
)as t2
------解决方案--------------------
--try
DECLARE @sql VARCHAR(8000)
SELECT @sql = COALESCE(@sql,'')+'union all select '''+[name]+''' as [w1],'+[name]+' as [w2] from tt '
FROM SysColumns Where ID = OBJECT_ID(N'你的表名') Order By ColID
SET @sql=STUFF(@sql,1,9,'')
--PRINT @sql
EXEC (@sql)