将行转换为sql表中的列

时间:2011-08-16 04:12:44

标签: sql sql-server tsql pivot

Supose我想存储一个包含440行和138,672列的表,因为SQL限制是1024列我想将行转换为列,我的意思是转换 440行和138,672列到138,672行和440列。

这可能吗?

2 个答案:

答案 0 :(得分:3)

SQL Server限制实际上是30000列,请参阅Sparse Columns

但是创建一个返回30k列的查询(更不用说+ 138k)将基本上无法控制,每个查询结果上元数据的绝对大小将使客户端停止爬行。一个人根本就不设计那样的数据库。回到绘图板,当你达到10列时停下来思考,当你达到100列时擦掉电路板并重新开始。

请阅读:Best Practices for Semantic Data Modeling for Performance and Scalability

答案 1 :(得分:2)

数据描述如下......

  

每个属性描述占用率的测量   通过测量记录的捕获器位置(在0和1之间)   站,在一天中的给定时间戳。        每个站的ID在stations_list文本文件中给出。

     

有关每个地点(GPS,高速公路,方向)的更多信息   站点请参考PEMS网站。

     

有963(站)x 144(时间戳)= 138,672属性   每条记录。

这对于正常切割是完美的。

您可以拥有电台表和测量表。两个漂亮的长薄桌。