是否有任何工具将行转换为sql Server中的列(在MS-Access中可以)?
我被迷惑了,因为这个工具在MS-Access中可用,但在sql Server中不可用.是否设计此功能尚未包含在sql Server中?
我被迷惑了,因为这个工具在MS-Access中可用,但在sql Server中不可用.是否设计此功能尚未包含在sql Server中?
解决方法
仅当您事先知道行值可以是什么时,http://jdixon.dotnetdevelopersjournal.com/pivot_table_data_in_sql_server_2000_and_2005.htm处的示例才有效.例如,假设您有一个具有自定义属性的实体,并且自定义属性在子表中实现为行,其中子表基本上是变量/值对,并且这些变量/值对是可配置的.
color red size big city Chicago
我将描述一种有效的技术.我用过它.我不是在宣传它,但它有效.
要在不知道值可以提前的情况下旋转数据,请在没有列的情况下动态创建临时表.然后使用游标循环遍历行,为每个变量发出一个动态构建的“alter table”,这样最后你的临时表就有了列,颜色,大小,城市.
然后在临时表中插入一行,通过另一个光标通过变量,值对更新它,然后选择它,通常与其父实体连接,实际上使得看起来像这些自定义变量/值对就像构建一样 – 在原始父实体的列中.